我正在尝试在野生动物园(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解决方案,但没有一个对我有用。
最佳答案
post from 2012中可能解决了相同的问题。
因此,您的代码应为:
window.addEventListener("pageshow", function () {
if (event.persisted) {
alert("pageshow");
}
});
我目前无法使用野生动物园,因此无法测试。请回答这是否正确。
关于javascript - iPhone上的pageshow事件仅触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35849902/