我正在尝试在safari(iphone)上使用pageshow
事件来修复后退按钮缓存的一些问题。但是使用后退按钮似乎只有一次。
我在页面A
上有这个处理程序:
window.addEventListener("pageshow", function () {
alert("pageshow");
});
然后我转到页面B
并返回A
- 一切正常。但是,当我再次转到B
页并再次返回A
时,则没有任何反应。
例如: 转到这个小提琴:https://jsfiddle.net/y278q8q0/,然后导航到任何其他页面并使用后退和前进按钮。该活动只会发射一次。
它与ios 8.4在iphone 6上的外观如何: https://vid.me/5WPe
修改
问题被标记为此问题的副本:'pageshow' is not received when pressing "back" button on Safari on *IPad"
很难说这些问题是否有同样的原因。在我的情况下,事件总是在开始时触发一次。此外,我尝试从提到的问题中实现所有非jquery解决方案,但没有一个对我有效。
答案 0 :(得分:-2)
post from 2012可能解决了同样的问题。
所以你的代码应该是:
window.addEventListener("pageshow", function () {
if (event.persisted) {
alert("pageshow");
}
});
我现在无法访问safari,所以我无法测试它。请回答这是否正确。