在iPhone上(至少是ios8),如果我们在用户离开页面时动画内容(例如他点击链接),当用户按下“后退按钮”时,他会进入页面和之前的状态或动画改变了style属性的网页留在那里。
看起来Safari不会重新加载页面,而是缓存DOM状态并只是重新渲染它。
任何人都知道解决这种行为吗?或者链接到描述行为的相关文档?
答案 0 :(得分:0)
您可以尝试粗略的js 1秒设置间隔? 设置一个datetime变量,然后检查现有变量是否是1秒前。
如果不是则意味着用户已导航到其他页面。
答案 1 :(得分:0)
该行为与Safari的后退/转发缓存有关。您可以在相关的Apple文档中了解它:http://web.archive.org/web/20070612072521/http://developer.apple.com/internet/safari/faq.html#anchor5
Apple自己的修复建议是在您的网页上添加一个空的iframe:
<iframe style="height:0px;width:0px;visibility:hidden" src="about:blank">
this frame prevents back forward cache
</iframe>
这个问题在这里也得到了回答:Prevent safari loading from cache when back button is clicked(他提出的解决方案与Apple文档不同)