2012-02-09 529 views
23

有没有办法在ipad/iphone上禁用缓存?我想为非缓存体验运行一些自动化测试。如何禁用IOS Safari上的缓存?

+0

它是公平的游戏放置一个反向代理在Web服务器的前面,[注头(HTTP ://serverfault.com/questions/30705/how-to-set-up-nginx-as-a-caching-reverse-proxy),要求缓存被禁用? – sarnold 2012-02-11 02:46:10

+0

@sarnold,请参阅我的回答以下使用提琴手,这是一个更简单的方法,基本上做同样的事情。 – muzzamo 2013-07-17 00:56:37

+0

如果您可以管理它,请为每个网址添加一个不同的虚拟参数。 – 2013-07-17 01:57:48

回答

1

看起来不可能。在桌面Safari上,有一个选项可以在开发人员工具中禁用缓存,但移动Safari上没有。我没有在其他浏览器中找到像O​​pera这样的选项。

如果你想尝试,你可以覆盖桌面firefox的用户代理字符串,并使其成为一个假的iPad移动浏览器,然后禁用缓存。但这取决于你想测试什么,它根本无法工作。

希望这会有所帮助。

12

有一种方法可以有效地禁用iphone/ipad/IOS上的缓存。

在Windows桌面上安装小提琴手,并允许远程计算机连接:

enter image description here

在IOS,设置一个代理在你的无线网络连接设置,指向到你的计算机的IP地址上运行的小提琴手,并在端口8888(假设你没有从默认的提琴手改变了它):

enter image description here

现在,小提琴手要拦截均为w eb请求您的设备正在制作。

您现在可以从fiddler中的Rules - > Performance菜单中禁用缓存。

enter image description here

+0

这真的很酷的方式来实现残疾人缓存,ty男人 – godblessstrawberry 2015-11-11 13:40:29

+0

这应该是被接受的答案。使用代理是真正禁用缓存的唯一方法。 '重新加载忽略缓存'只会重新加载iOS Safari可以确定的部分初始页面加载。 – 2016-08-18 21:15:39

7

我可能是错的,但在iOS上不把Safari在隐私浏览模式禁用缓存?

+1

(如果失败了,作为运行测试的一个替代方法,向通过POST或GET进行测试的URL添加一个随机变量,这基本上绕过了缓存,因为它每次都是一个新的URL。常见的方法是获取当前时间戳并转到your-url.com/page.php?rand=(当前时间戳) – 2013-07-17 01:00:51

+1

看起来你是对的,这是一个很好的(而且很简单!)的答案。http://osxdaily.com/2013/ 10/19/private-browsing-safari-ios/ – 2014-12-16 14:05:55

+0

这也适用于我,谢谢! – 2016-02-25 20:09:01

26

我对面的方式迷迷糊糊的Safari浏览器禁用iOS上的高速缓存:

的iOS

  1. 打开设置
  2. 导航到Safari浏览器>高级
  3. 启用Web Inspector
  4. 切换回Safari和加载网页

桌面

  1. 打开Safari
  2. 导航到的Safari>首选项>高级标签
  3. 启用开发菜单
  4. 开发菜单中,选择您的iOS设备名称>的页面要调试
  5. 按下Command-Shift-R键重新加载,而禁用缓存
  6. 奖励:这是一个完整的Web检查你的计算机您的iOS设备

检查上一个页面。如果你想要的东西更长久,你要么必须去the proxy route或作出UIWebView/WKWebView包装的应用程序,禁用缓存。

+0

通过阅读iOS的Web检查器的信息,不会产生任何关于如何禁用缓存的线索。 https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/Introduction/Introduction.html – 2014-12-16 14:01:43

+0

除了命令Shift-R键,您还可以使用开发菜单禁用多个缓存要求:https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/TheDevelopMenu/TheDevelopMenu.html#//apple_ref/doc/uid/TP40007874-CH7-SW1 – 2014-12-16 17:54:02

+0

我的坏。我错读了你的帖子。投票将被颠倒。 – 2014-12-16 18:00:10

0

使用iPhone模拟器9.0我一直在寻找,无论是开发者 - 禁用缓存菜单键和Cmd-Shift-R键重装双双未能完全绕过无论出于何种原因缓存。只有工作的事情是按住Shift键并按在Safari开发工具,这个重载按钮:

enter image description here

+0

找不到在Safari 9.0按钮0.3 Web检查任何想法,这是 – Gamadril 2016-03-08 12:36:56

+0

@Gamadril - 嘿 - 看起来像其上跳起来主控制台的酒吧和大了不少还没有真正测试了它,但它有大约与清除缓存相同的说明。换档键:[截图用标记的位置](https://www.dropbox.com/s/sc4duxygmwzfy3h/Safari%209%20Dev%20Tool%20-%20Changed%20Layout.jpg?dl=0) – Hal 2016-03-09 16:44:06