返回iPhone时刷新网页状态

时间:2014-11-21 01:43:25

标签: javascript iphone ios7 web mobile-safari

在iPhone上(至少是ios8),如果我们在用户离开页面时动画内容(例如他点击链接),当用户按下“后退按钮”时,他会进入页面和之前的状态或动画改变了style属性的网页留在那里。

看起来Safari不会重新加载页面,而是缓存DOM状态并只是重新渲染它。

任何人都知道解决这种行为吗?或者链接到描述行为的相关文档?

2 个答案:

答案 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文档不同)