🔁 최근 특정 크롬 브라우저에서 navigator.share를 호출할 때, 공유 창이 열리지만 무한 로딩 상태에 빠지는 현상이 있었다.
아래 콘솔로 확인해보면 navigator.share는 true로 나오니 API는 존재하는데
Object.keys(navigator.share)를 봤을 땐 메서드가 비어있었다...
처음에 해당 문제를 찾을 때 대부분 API 존재여부를 확인하라는 내용이 많다보니 메서드가 없을 것이라고는 생각도 못했었다
브라우저가 Share API를 캐시된 상태에서 업데이트되면서 API의 활성화 여부와 실제 구현 상태가 일치하지 않았던 것 같다.
console.log('navigator.share 지원 여부:', !!navigator.share); // true
console.log('Share API 메서드:', Object.keys(navigator.share)); // []
💡 [시크릿 모드에서도 동일한 문제가 발생하는 이유]
시크릿 모드는 브라우징 기록, 쿠키, 사이트 데이터를 삭제하지만, 브라우저 설정과 API 상태는 유지되기 때문에 같은 문제가 발생할 수 있었다.
✅ 시크릿 모드에서 지워지는 항목 | ❌ 시크릿 모드에서도 유지되는 항목 |
---|---|
브라우징 기록 | 브라우저 설정 (chrome://flags 포함) |
쿠키 및 사이트 데이터 | 하드웨어 가속 설정 |
양식 입력 데이터 | 확장 프로그램 설정 |
API 구현 상태 |
1단계. 크롬 플래그 설정 확인
크롬 주소창에 chrome://flags 입력
해당 페이지의 검색창에 "Web Share" 검색
해당 옵션이 Enabled(활성화) 상태인지 확인 후 필요하면 변경
2단계. 브라우저 캐시 삭제 및 업데이트
캐시 삭제
크롬 설정 → 설정 > 개인정보 및 보안 > 인터넷 사용 기록 삭제
캐시된 이미지 및 파일 삭제 (쿠키도 함께 삭제하는 것이 권장됨)
크롬 업데이트 확인
설정 > Chrome 정보에서 최신 버전인지 확인
최신 버전이 아니라면 업데이트 후 브라우저 재시작