我使用setInterval()来获取最新的数据,并按设定的间隔绘制一些东西。但是在IE中,它只运行一次,我在google中搜索它,它说IE的缓存可能有问题,所以我添加了我的网址的时间戳是这样的:
url+"?"+Math.random();
但它仍然不起作用,或者我犯了一些错误?
我改变了另一种方式来编写我的函数,前面的代码是:
$(document).ready(function()){
autoRefreshFunction(some parameters){
var interval=setInterval(
function(){
main function that gets data and draw
},time_interval);
}
}
它只能在IE中工作一次,但是chrome可以。
新代码是:
$(document).ready(function()){
var interval=setInterval(
function(){
main function that gets data and draw
},time_interval);
}
它适用于IE,所以我对这两种方法的区别感到困惑。
答案 0 :(得分:2)
我认为这可能是你的问题:
$(document).ready(function()){
您过早地将括号缩短为ready
。我想你想要:
$(document).ready(function() {
IE可能因此而感到困惑。此外,在原始代码中,您有:
$(document).ready(function()){
autoRefreshFunction(some parameters){ //<----- what's this?
var interval=setInterval(
function(){
main function that gets data and draw
},time_interval);
}
看起来你有点定义了一个名为autoRefreshFunction
的函数,但由于你忘记了函数关键字而错误。
我认为最终结果应该是:
$(document).ready(function() {
var interval=setInterval(
function(){
main function that gets data and draw
},time_interval);
}