这让我发疯。每种浏览器和设备都有自己的方法来清除缓存并重新加载.js和.css文件。例如,我能在Chrome中做到这一点的唯一方法是转到我的登录页面,执行一个F12来加载调试器并继续。这似乎是做这件事的唯一方法。
在windows中的旧safari中,您可以从菜单中执行此操作,就像在IMac桌面上的Safari中一样。
但是你在IPhone或IPad上是怎么做的呢?
我正在使用IMac调试电话,但无论我如何调试,.js文件都保持不变。当我在页面上查看网站时,变化就在那里。
我试过让手机崩溃,双击刷新按钮,将其设置为私人模式,然后再返回。毫无办法。有趣的是,我私下尝试了一下,在“开发”菜单中,我可以看到.js文件的两个版本--一个有更改,另一个没有更改。当我返回到非私有模式时,旧的.js文件(没有更改)仍然存在。
我还试着删除我网站的网站数据,但没有成功。
谁知道怎么做?
谢谢,
汤姆
发布于 2017-04-18 10:14:49
在包含JS或CSS时附加一个查询字符串,并在更新代码时更改它。它将使缓存的此文件的本地版本无效。
<script src="test.js?1234567"></script>
使用时间戳是很常见的。
发布于 2018-06-13 05:04:25
2个答案:
第一个答案:点击tabs图标,然后选择Private,如果你只需要强制刷新一次,就粘贴&go the URL。私有会话将永远不会有任何内容的缓存版本,除非它被缓存在中间代理上。当然,它会缓存对同一文件的后续请求。你可以关闭私人会话并创建一个新的会话,这大致相当于切换到设置应用程序或从设置应用程序切换到设置应用程序的恼人程度。
第二个答案:如果你是一名开发人员,并且你正在使用Apache,你可以这样设置一个.htaccess文件:
<filesMatch "\.(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 21 Oct 2015 07:28:00 GMT"
</ifModule>
</filesMatch>
发布于 2017-04-18 10:18:44
转到Safari ->首选项->,单击高级选项卡底部的高级选项卡,单击显示“在栏中显示开发菜单”的复选框,然后关闭首选项。然后,您可以打开程序栏中的开发菜单,其中包含Safari、文件、编辑、查看等。中,然后单击Empty Caches。
https://stackoverflow.com/questions/43462424
复制相似问题