Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript和可能的浏览器缓存问题_Javascript_Html - Fatal编程技术网

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

JavaScript和可能的浏览器缓存问题,javascript,html,Javascript,Html,我是JavaScript新手,遇到以下问题: 我将在一个单独的文件中编写JS代码,将该文件包含在html代码中。JS代码运行良好。没问题。我会继续对JS代码进行一些更改,在浏览器窗口中单击“刷新”,有时会出现问题。我对JS代码所做的更改把事情搞砸了。代码没有按预期的方式工作。所以我开始寻找问题,但是代码非常好。所以我清除了浏览器的缓存-仍然没有。我撤销对JS代码的更改,一切正常。我把新的代码放回去了——在“刷新”几下之后——突然它就工作了。我在使用Safari 4、Firefox 2.0时遇到了

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

我将在一个单独的文件中编写JS代码,将该文件包含在html代码中。JS代码运行良好。没问题。我会继续对JS代码进行一些更改,在浏览器窗口中单击“刷新”,有时会出现问题。我对JS代码所做的更改把事情搞砸了。代码没有按预期的方式工作。所以我开始寻找问题,但是代码非常好。所以我清除了浏览器的缓存-仍然没有。我撤销对JS代码的更改,一切正常。我把新的代码放回去了——在“刷新”几下之后——突然它就工作了。我在使用Safari 4、Firefox 2.0时遇到了这个问题。我没有尝试其他浏览器


我的问题是-我是否必须使用一些JS技术禁用浏览器缓存,或者仅仅从浏览器中禁用,或者存在不同的问题?谢谢你的时间和帮助

如果使用随机键引用JS文件,则会破坏缓存:

例如:


如果没有其他功能的话,也可以进行调试。

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

当您重新加载/刷新网页时,大部分时间脚本都是从缓存中重新加载的。通过在按住shift键的同时单击“刷新”按钮,可以强制浏览器重新加载外部脚本文件


如果这不起作用,您可能需要检查您和网页之间是否有代理服务器。如果是本地网页,按住shift键就可以了。

我个人用CTRL+F5强制刷新。

谢谢,我会试试的。它经常困扰着我,因为我开始检查代码,它没有任何问题。你可以(必须)使用版本号之类的东西来代替随机数。这样,浏览器将只缓存具有相同版本的JS。当您更改代码(js)中的某些内容时,您会更改版本,所有客户端都会自动找到新的js。同样的技巧也可以通过css实现
var randomnumber=Math.floor(Math.random()*10000)
var scriptfile='http://www.whatever.com/myjs.js?rnd='+randnumber;