在iphone上的pageshow事件只会触发一次

我试图在safari(iphone)上使用pageshow事件来修复后退buttoncaching的一些问题。 但是使用后退button似乎只能使用一次。

我在页面A有这个处理程序:

 window.addEventListener("pageshow", function () { alert("pageshow"); }); 

然后我去到页面B ,回到A – 一切工作正常。 但是当我再次进入B页面并再次返回到A时,则什么都不会发生。

例如:去这个小提琴: https : //jsfiddle.net/y278q8q0/ ,然后导航到任何其他页面,并使用后退和前进button。 该事件只会触发一次。

这是怎么看,在iPhone 6与iOS 8.4: https : //vid.me/5WPe

编辑:

问题被标记为这一个的副本: “网页秀”没有收到时,按下“后退”button上的Safari浏览器* iPad上“

很难说这些问题是否有同样的原因。 在我的情况下,事件总是在一开始就发生一次。 此外,我试图从提到的问题实现所有非jQuery解决scheme,他们都没有为我工作。

从2012年起可能同样的问题被解决了。

所以你的代码应该是:

 window.addEventListener("pageshow", function () { if (event.persisted) { alert("pageshow"); } }); 

我现在没有进入safari,所以我无法testing它。请回答这是否正确。