Как сохранить данные в локальном хранилище, прежде чем покинуть страницу на устройствах IOS?

1

Недавно я выяснил, что событие onbeforeunload не поддерживается на устройствах IOS. Я также сделал некоторые исследования и пробовал другие события, такие как событие pagehide но он также не работал. То, что я пытаюсь достичь, - сохранить некоторые данные в локальном хранилище, прежде чем покинуть страницу. Он отлично работает для окон и Android, но не для устройств IOS. Это код:

window.onbeforeunload = function(e){
    save_something_in_local_storage();
};

Я мог бы также идентифицировать устройства IOS с:

var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;

Попытка других событий, таких как, например, screenhide, также не будет работать:

window.addEventListener("pagehide", function(evt){
   alert('pagehide');
}, false);

Кто-нибудь знает обходное решение для IOS?

Теги:
local-storage
onbeforeunload

2 ответа

0

pagehide работает правильно для устройств iOS. Проблема заключается в вызове alert, см. qaru.site/questions/179962/.... Просто попробуйте сохранить данные в localStorage.

0

Попытайтесь сохранить данные после события focusout (если у вас есть вход). И после успеха экономии, очистите localstorage

Ещё вопросы

Сообщество Overcoder
Наверх
Меню