cor*_*zza 7 html javascript google-chrome
所以,我有一个名为"引擎"的脚本,经过多次打嗝和(徒劳)调试后,我发现GC根本就没有重新加载它!
这是我将其包含在网页(<head>
元素内)中的方式:
<script type="text/javascript" src="engine.js"></script>
Run Code Online (Sandbox Code Playgroud)
当console.log("asdf");
在脚本开头放置10时,就好像它们不存在一样.当我进入GC控制台的"资源"选项卡时,我发现没有对该脚本进行任何更改!HLEP?+ "?" + new Date()
最后会有帮助吗?
ccp*_*zza 26
适用于Chrome,Firefox和IE的通用解决方案是通过Ctrl+ Shift+ Del(在Mac ⌘+ Shift+上⌫)清理缓存.
❗️ 注意:只有在devtools窗口打开时才会禁用缓存.
只有在不使用#1时才有意义.
可用于调试的与浏览器无关的解决方案是在服务器端代码中附加随机生成的版本字符串作为查询参数,即将脚本调用为:
<script type="text/javascript" src="myscript.js?ver=12345"></script>
此参数将强制浏览器在ver
参数值更改时重新加载脚本.如果您发出ajax请求,则可以附加"?ver=" + new Date().getTime()
到您的URL.
注意:不要忘记删除当您完成调试,因为在生产中你最有可能的参数不希望被缓存的脚本.通常的做法是在每个新构建上生成一个新的时间戳 - 这可以在生产中使用,并确保在新部署之后客户端将始终获得更新的脚本.
与上述所有解决方案不同,即使您在客户端和服务器之间进行某种缓存(例如redis,memcached,varnish)或CDN(例如akamai),这个解决方案也能正常工作.
归档时间: |
|
查看次数: |
11336 次 |
最近记录: |