Android 용 Chrome 과 Chrome을 개발 중입니다. 내가 가진 문제는 열려있는 브라우저 탭을 추적해야한다는 요구 때문입니다. 각 탭의 sessionStorage에 고유 한 ID를 저장하여이 작업을 수행합니다. 그런 다음 각 탭에 액세스 할 수있는 localStorage 배열에 각 ID를 등록하여 열린 탭을 추적합니다.Android Chrome window.onunload
문제는 window.onunload 이벤트를 사용하여 탭을 닫을 때 localStorage에서 ID를 제거 할 수 없다는 것입니다. 이 코드는 데스크톱 Chrome에서 제대로 작동하지만 Android에서 작동하지 않습니다.
$(window).on('beforeunload', function() {
removeWindowGUID();
});
function removeWindowGUID() {
var guid = sessionStorage.getItem("WindowGUID");
var tmp = JSON.parse(localStorage.getItem("WindowGUIDs"));
tmp = tmp.remove(guid); // remove is a custom prototype fn
localStorage.setItem("WindowGUIDs", JSON.stringify(tmp));
}
이 이벤트는 페이지를 다시로드 할 때 발생합니다. 닫을 때가 아닙니다. 또한 pagehide 이벤트를 사용해 보았습니다.
브라우저이 작업을 수행하려면 특별히 Chrome이 필요합니다. – sreimer
@sreimer 예, Chrome에서 작동합니다. 언급 한대로 – Ohgodwhy
은 데스크톱에서만 작동하며 모바일 크롬에서는 작동하지 않습니다. 마치 탭을 닫을 때 onunload 및 onbeforeunload 또는 onpagehide가 실행되지 않는 것과 같습니다. – sreimer