我有一个javascript文件,在我的文档的head标签中调用,每说30秒,我希望这个javascript文件重新加载。
我已经对此做了一些研究,似乎它存在拉动本地存储的文件副本或跨浏览器问题的问题......
从缓存中提取它不是问题,因为实际文件没有改变它只需要重新加载。
这会是一个ajax任务吗? 我该怎么做呢?
提前致谢。
答案 0 :(得分:2)
function foo(){
$.getScript( url, function(script, textStatus, jqXHR){
script...
});
}
setInterval(foo, 30000);
缓存响应
默认情况下,$ .getScript()将缓存设置设置为false。这会将带时间戳的查询参数附加到请求URL,以确保浏览器在每次请求时都下载脚本。
答案 1 :(得分:1)
将JS文件的相关部分放入函数中,而不是立即执行的代码,然后使用setInterval
每30秒调用一次。
var myFunction = function()
{
// do your thang
}
myFunction();
setInterval(myFunction, 30000);
答案 2 :(得分:0)
获取<script>
标记的DOM句柄,然后设置其src
属性(可能属于blah.js?nocache=somethingrandom
)
警告:这不会以跨浏览器的安全方式运行文件中的内容。