为什么我的COMET控件在IE8关闭时会抛出一个javascript错误?

时间:2009-10-10 11:11:20

标签: asp.net javascript jquery internet-explorer-8 comet

我在ASP.NET中编写了一个COMET / Reverse Ajax表控件。 javascript部分使用jQuery(1.3.2)。除了在IE(8)中关闭浏览器之外,它似乎工作正常。在这种情况下,它会抛出“Microsoft JScript运行时错误:对象不支持此属性或方法”。只有当 IE 关闭时才会出现错误。 Firefox和Chrome不会抛出错误。

该控件是System.Web.UI.WebControls.Table。

的后代

违规行是:

var currentCell = $("#" + gridName + " tr:nth-child(" + (rowIndex + 1) + ") td:nth-child(" + (cellIndex - rowIndex * columnCount + 1) + ")");

“gridName”是作为参数传递给函数的控件的ID。

调用包含此行的函数以响应成功的Ajax POST请求。

页面打开时,控件按预期工作。我假设问题是浏览器关闭时删除某些内容的结果,因此杰出的Ajax请求在返回时失败。然而,这只是猜测 - 我对jQuery并不熟悉。我尝试在window.unload事件中设置一个标志,以防止在卸载事件发生后调用有问题的代码,但这并没有解决问题。

我没有使用除jQuery之外的任何Javascript库。 javascript包含在WebResource中。

导航到新页面时不会出现问题 - 仅在浏览器关闭时才会出现。

0 个答案:

没有答案