如何清除Mobile Safari中仅一个特定站点的浏览器缓存?


28

我正在开发中的移动站点上进行一些测试,并且此站点发生了许多更新和更改。为了重新测试并清除iPhone缓存中保存的所有JavaScript或其他内容,我需要从历史记录中清除该网站。

但是,我不太想清除所有浏览器历史记录,因为我不想重新登录到我当前登录的每个站点或拥有Cookie的站点。这项测试可能会持续几个月,而每次都要清除我的历史记录并登录到我所有各种帐户的想法并不那么吸引人。

有没有一种方法可以从我的历史记录中专门清除一个域的历史记录,而无需清除所有缓存?

我可以(也可以)在iPhone上安装其他浏览器(Chrome浏览器,歌剧-如果甚至算作浏览器),但由于Safari是目标受众将主要使用的浏览器,因此我需要主要使用该浏览器。


2
我建议您在开发环境中正确处理缓存头,并在此禁用缓存。
格里

我与@gerry一起回避入侵浏览器缓存的问题,这些缓存没有API或跨所有(甚至任何一个)iOS版本进行操作的方式。当我不想更改站点代码以禁用浏览器端缓存时,获得经常擦拭的专用测试设备是我的解决方案。
bmike

这并不是我真正追求的目标,但是iOS野生动物园是否甚至可以选择“忘记此站点”或某些此类方法。
JonW 2012年

并不是真的,也许如果您越狱了。
格里

Answers:


32

我不知道这是否正是您想要的,但是如果打开“设置”,然后单击Safari,然后向下滚动并单击“高级”,然后单击“网站数据”,您将获得一个已存储数据的网站列表。您可以单击“编辑”,然后仅从要从中删除存储的数据的站点中删除数据。


1

您也可以在浏览器中使用它,?nocache = 1表示URL。示例www.constructivworks.com/?nocache=1

这应该专门清除在该特定选项卡中打开的站点上的缓存。

希望这可以帮助!


这是浏览器功能还是服务器端?我希望它只需要从服务器请求一个新页面,而不会缓存其他所有内容。
Deanna

我已经在Safari中进行了尝试,它直接从服务器加载页面,并忽略了缓存。但是,它不会以任何方式清除缓存。
Brett Donald

0

我对安德烈(Andre)和加里(Gary)的回答;

javascript:window.location.replace(window.location.origin+"/?nocache=1")

-1

在iOS版Chrome上清除特定网站的Cookie

  1. 通过右上角的三点菜单将任何站点另存为书签
  2. 将书签重命名为“清除网站Cookie”
  3. 复制/粘贴下面的代码作为URL

现在,只需访问任何站点,拉起您的书签,然后单击我们刚刚创建的书签即可。这样,即使在Chrome iOS上,也只会清除该网站的Cookie。

javascript:void((function(){var%20a,b,c,e,f;f=0;a=document.cookie.split(";%20");for(e=0;e<a.length&&a[e];e++){f++;for(b="."+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,"")){for(c=location.pathname;c;c=c.replace(/.$/,"")){document.cookie=(a[e]+";%20domain="+b+";%20path="+c+";%20expires="+new%20Date((new%20Date()).getTime()-1e11).toGMTString());}}}alert("Expired%20"+f+"%20cookies");})())

参考文献

-1

由于我找不到解决方法(我只是尝试刷新样式表以进行开发测试),因此我?v=$time在进行测试以确保它始终具有最新更改时最终只是将其添加到样式表的末尾并且没有缓存(通常缓存很好,但是我需要在开发过程中查看更改)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.