1

我有一个在我的文档的 head 标签中调用的 javascript 文件,每隔 30 秒,我希望重新加载这个 javascript 文件。

我对此进行了一些研究,似乎它在提取本地存储的文件副本时存在问题,或者跨浏览器问题......

从缓存中提取它不是问题,因为实际文件没有改变,它只需要重新加载。

这会是一个ajax任务吗?我该怎么做呢?

提前致谢。

4

3 回答 3

2
function foo(){
    $.getScript( url, function(script, textStatus, jqXHR){
        script...
    });
}

setInterval(foo, 30000);

缓存响应

默认情况下,$.getScript() 将缓存设置设置为 false。这会将时间戳查询参数附加到请求 URL,以确保浏览器在每次请求时下载脚本。

于 2012-06-12T20:16:39.307 回答
1

将你的 JS 文件的相关部分变成一个函数,而不是立即执行的代码,然后使用setIntervalin order 每 30 秒调用一次。

var myFunction = function()
{
    // do your thang
}

myFunction();

setInterval(myFunction, 30000);
于 2012-06-12T20:16:37.233 回答
0

获取<script>标签的 DOM 句柄,然后设置其src属性(可能类似于 blah.js?nocache=somethingrandom

警告帝王:这不会以跨浏览器安全的方式运行文件中的内容。

于 2012-06-12T20:17:03.277 回答