Как предотвратить перезагрузку веб-страницы из кэша при использовании мобильного браузера Safari?

Mobile Safari использует специальный механизм кешированияPage Cache (Вот) который в основном поддерживает текущую страницу, но находится в спящем режиме, когда мы переходим на другую страницу. Таким образом, он может немедленно отобразить предыдущую страницу в ее последнем состоянии, когда пользователь нажимаетback кнопка.

Это полезно для навигации и просмотра веб-страниц, но в особых случаях это раздражает, так как вам может понадобиться получать свежую копию страницы каждый раз, когда пользователь переходит на эту страницу. (в моем случае у меня есть страницы: логин и главная страница).

Я полностью осознаю, что ничто не мешает пользователю открывать несколько вкладок одного и того же приложения. Я не обеспокоен этим.

кросс-браузерное решение для предотвращения кэширования страницы не помогает, так как Safari держит страницу открытой, но невидимой и приостановленной.

window.onpageshow и обработкаevent.persisted не помогает, так как кажется, что браузер не выполняетonpageshow событие по некоторым причинам во второй раз (когда вы нажимаетеback кнопка).

Заметка для тех кто не знает чтоonpageshow событие о: Apple не рекомендует использоватьload а такжеunload события, потому что с концепциейкеш страниц эти события не имеют четкого смысла. Так,onpageshow должен делать то, что мы ожидаем отload событие.

Ответы на вопрос(2)

Ваш ответ на вопрос