【问题标题】:How to STOP iOS Safari web page from loading cached pages after adding to home screen?添加到主屏幕后如何阻止 iOS Safari 网页加载缓存页面?
【发布时间】:2012-04-24 12:17:55
【问题描述】:

我已将网站添加到 iOS 主屏幕。如果加载从 iOS 主屏幕打开网站,它似乎总是在加载缓存页面。即使我更新了页面或完全删除了页面,它仍然会加载原始版本。

如果我直接从 iOS Safari 打开网站而不是单击主屏幕上的图标,它将加载更新的页面。

该站点托管在运行 Ubuntu 11.10 的 Apache 上。

我在里面添加了以下内容

并添加了

试图强制它加载更新的页面。

我还尝试从 iOS Safari 设置中清除缓存、cookie 和历史记录,还重新启动了 ipad,但似乎没有任何效果。

请帮忙~!

【问题讨论】:

  • 你能用window.location.reload(true)吗?
  • 你能建议我应该把它放在哪里让它自动加载一次吗?谢谢!

标签: iphone ios ipad web-applications safari


【解决方案1】:

应该这样做,尽管在最初从缓存副本加载页面的情况下,它会导致页面的双重加载。

<script>
    var url = window.location.href;
    if (url.indexOf('rnd=') == -1) {
        url = (url.indexOf("?") == -1 ? url + "?rnd=" : url + "&rnd=") + Math.random();
        window.location.href = url;
    }
</script>

所以基本上你会将http://mysite.com/myCoolPage.html添加到iOS主屏幕,然后每当页面在浏览器中加载时,它就会重定向到http://mysite.com/myCoolPage.html?rnd=xxxxxxx,从而有效地防止它被缓存。

【讨论】:

  • 感谢脚本,它确实添加了应有的随机数,但由于某种原因,如果我从 ios 主屏幕点击它,ios safari 仍然显示旧页面@_@
  • 最后,我在 Rails 应用程序上提供相同的静态页面,它似乎可以工作。
猜你喜欢
  • 1970-01-01
  • 2020-08-16
  • 2012-12-17
  • 1970-01-01
  • 2019-06-18
  • 1970-01-01
  • 2017-09-24
  • 2012-03-19
  • 1970-01-01
相关资源
最近更新 更多