如何防止“无响应”错误
How to prevent "Not responding" error?
我们是一个跟踪软件,我们需要使用Internet Explorer。
function track(url){
window.setInterval(function (){
$.getScript("http://" + Math.floor(Math.random() * 1000) + "." + url);
},1000)
}
track("example.com/track.php");
但是,在 ~15 秒后,Internet Explorer 会停止它并显示"无响应"错误。(在任务管理器中)。我们应该遵循哪种方法来防止这种类型的错误?
这很可能是因为您在脚本加载之间为函数指定了 1 秒的间隔,但 Internet Explorer 加载脚本需要 1 秒以上,因此它在完成第一个之前再次开始加载它,这会导致高资源使用率,因为它使加载在完成之前一个在另一个之上累积。
我不确定您的跟踪是如何工作的,但您可以通过使用 setTimeout
而不是 setInterval
来避免这种情况,并在完成后再次调用它,或者设置更高的间隔(也许是 10 秒)
区别:
setTimeout()
- 在指定时间后执行一次
setInterval()
- 以指定的间隔时间永久执行。
例子
-更高的间隔:
window.setInterval(function () {
$.getScript("http://" + Math.floor(Math.random() * 1000) + "." + url);
}, 10000)
- 使用超时而不是间隔:
window.setTimeout(function () {
$.getScript("http://" + Math.floor(Math.random() * 1000) + "." + url);
}, 1000)
相关文章:
- 无响应的charCode语句
- "所请求的名称已经作为不同类型的“”存在;HTTP 409响应错误
- 使无响应的网站响应尽可能容易
- 单击按钮后的无响应元素
- 使用来自AngularJS的Web API JSON响应-错误:应为和数组,但得到了一个对象
- 安卓网络视图中的无响应触摸
- Json响应错误Json.parse:意外的数据结束错误
- AngularJs-$httpProvider.interceptors多重响应错误
- Marketo monchkin.js调用间歇性无响应.(CORS)
- 终止无响应/无限循环的WebWorker(Javascript)
- Javascript随机名称猜测者:无响应的脚本问题
- 避免“;无响应脚本"foreach循环中的消息
- 设置超时可以保存我的循环函数不被视为无响应
- JS 错误 - 脚本无响应
- 防止 Internet Explorer 中的“无响应”错误
- 如何防止“无响应”错误
- AJAX激发错误无响应文本
- 无响应脚本错误
- Webdriver/FXDriver utils.js导致脚本无响应'错误
- Java Script错误导致脚本无响应