Internet 11似乎成功地执行了ajax调用。它在success条件下运行代码,一直运行到该块中的最后一行,更新HTML结构,然后冻结。我在IE中遇到的错误是:“由于运行时间很长,所以没有响应”。
我的代码在Chrome、Firefox和Safari!中工作
下面是用户单击分页链接时如何调用函数loadContentviaAjax:
$(document).on('click', '.pagination-top a', function () {
//CODE
loadContentviaAjax($(this).attr('href'), rawNewURL);
console.log('20');
return false;
});下面是companysearch.js中代码块的一部分,它涉及:
function loadContentviaAjax(furl, rawNewURL) {
var webserviceURL = rawNewURL;
$.ajax({
type: "GET",
url: webserviceURL,
data: "",
cache: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function () {
$("#loadstatus").html($("#whoops").attr('data-message')).addClass('box_error');
},
success: function (data) {
console.log('0');
//MORE OF MY CODE
console.log('18'); //<-- this line is still logged
}
});
return false
}我试过:-注释掉了我的AJAX调用的success块中的所有代码,在IE开发工具中尝试了设置断点。
但我不能把它缩小到引起这个问题的界限。
线
console.log('20');也被击中,所以IE冻结之后,但除了loadContentviaAjax,我不能缩小什么是导致freeze....please帮助!
发布于 2014-09-18 19:20:12
好了!我在IE11中找到了导致挂起的代码。我不太确定你要怎么解决,但我想你会想知道的。
在单击链接之前设置js调试器,然后暂停执行会显示javascript在http://pagead2.googlesyndication.com/pagead/osd.js中的所有时间。所以你的代码和它没什么关系。
逐步遍历意味着Google的代码被卡在一个无限循环中,从函数a跳到b到c,从而再次运行a。它将大部分时间花在对getBoundingClientRect的调用的catch块中,调用的iframe没有父级(抛出未指定的错误)。
当我阻止http://pagead2.googlesyndication.com/pagead/osd.js使用Fiddler下载时,您的导航工作正常。
我希望我能告诉你“改变这个或那个,它会起作用”,但我找不到它--缩小的谷歌代码很难调试。您的代码是否可能以某种方式使google容器成为孤儿?
https://stackoverflow.com/questions/25875638
复制相似问题