크롬 브라우저에서 Share API 무한 로딩 문제 해결

유림·6일 전
0

💡dding's TIL

목록 보기
44/44
post-thumbnail

🔁 최근 특정 크롬 브라우저에서 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는 있는데 메서드가 없었고
  • 그로 인해 share창이 열리면서 API가 호출되지만 안에 메서드가 없어서 내용이 안보이고 무한로딩 현상이 지속되었다.
    때문에 시크릿 모드에서도 문제 발생 (시크릿 모드에서도 특정 브라우저 설정이 유지됨)
  • 시크릿 모드에서도 같은 현상이 발생하니 당연히 캐시는 아닐것이라 생각했었는데 시크릿 모드라도 유지되는 상태들이 있다는 것을 배우게 됐다.

💡 [시크릿 모드에서도 동일한 문제가 발생하는 이유]
시크릿 모드는 브라우징 기록, 쿠키, 사이트 데이터를 삭제하지만, 브라우저 설정과 API 상태는 유지되기 때문에 같은 문제가 발생할 수 있었다.

✅ 시크릿 모드에서 지워지는 항목❌ 시크릿 모드에서도 유지되는 항목
브라우징 기록브라우저 설정 (chrome://flags 포함)
쿠키 및 사이트 데이터하드웨어 가속 설정
양식 입력 데이터확장 프로그램 설정
API 구현 상태

해결 방법

1단계. 크롬 플래그 설정 확인

  1. 크롬 주소창에 chrome://flags 입력

  2. 해당 페이지의 검색창에 "Web Share" 검색

  3. 해당 옵션이 Enabled(활성화) 상태인지 확인 후 필요하면 변경


2단계. 브라우저 캐시 삭제 및 업데이트

  1. 캐시 삭제

  2. 크롬 설정 → 설정 > 개인정보 및 보안 > 인터넷 사용 기록 삭제

  3. 캐시된 이미지 및 파일 삭제 (쿠키도 함께 삭제하는 것이 권장됨)

  4. 크롬 업데이트 확인

  5. 설정 > Chrome 정보에서 최신 버전인지 확인

  6. 최신 버전이 아니라면 업데이트 후 브라우저 재시작


profile
ɪ ʜᴏᴘᴇ ᴛᴏ sᴏʟᴠᴇ ʀᴇᴀʟ ᴘʀᴏʙʟᴇᴍs👩🏻‍💻❤️

0개의 댓글

관련 채용 정보