JavaScript和可能的浏览器缓存问题

时间:2009-04-05 11:30:26

标签: javascript html

我是一名JavaScript新手,我遇到了以下问题:

我会在单独的文件中编写JS代码,在html代码中包含该文件。 JS代码运行得很好。没问题。我会继续对JS代码进行一些更改,在浏览器窗口中单击“刷新”,有时会出现问题。我对JS代码所做的更改搞砸了。代码不能按照预期的方式工作。所以我开始寻找问题,但代码非常好。所以我清除浏览器的缓存 - 仍然没有。我撤消对JS代码的更改,一切正常。我将新代码重新放入 - 经过几次'刷新'点击后 - 突然之间它就可以了。我使用Safari 4,Firefox 2.0时遇到此问题。我没有尝试过其他浏览器。

我的问题是 - 我是否必须使用某种JS技术或仅通过浏览器禁用浏览器缓存,否则会出现其他问题?感谢您的时间和帮助!

4 个答案:

答案 0 :(得分:4)

如果您使用随机密钥引用您的JS文件会破坏缓存:

例如:

var randomnumber=Math.floor(Math.random()*10000)
var scriptfile='http://www.whatever.com/myjs.js?rnd='+randnumber;

如果没有别的话,很适合调试。

答案 1 :(得分:3)

当您重新加载/刷新网页时,大多数时候脚本都会从缓存中重新加载。您可以通过在单击刷新按钮的同时按住Shift键强制浏览器重新加载外部脚本文件。

如果这不起作用,您可能需要检查您和网页之间是否有代理服务器。如果它是本地网页,则移位按钮应该可以解决问题。

答案 2 :(得分:2)

就个人而言,我用CTRL + F5强制刷新。

答案 3 :(得分:1)

我发现当我调试一些JS时,我只是在另一个选项卡中打开了javascript的URL。当我上传时,我先切换到选项卡,点击刷新,然后测试代码。那,或者在FireFox WebDeveloper插件中转换缓存。