如何在添加到主屏幕后停止加载缓存页面的iOS Safari网页?

时间:2012-04-12 06:46:39

标签: iphone ios ipad web-applications safari

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

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

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

我在

中添加了以下内容

并添加了

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

我还尝试从iOS Safari设置中清除缓存和cookie以及历史记录,并重新启动了ipad,似乎没有任何工作。

请帮助〜!

1 个答案:

答案 0 :(得分:2)

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

<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,从而有效地防止它被缓存。