【发布时间】:2009-11-27 20:02:42
【问题描述】:
这段代码在 ie8 中引起了一个奇怪的错误。它来自link text中的MicrosoftAjaxAdoNet.js
function Sys$Data$_AdoNetBatchWriter$startChangeSet() {
this._changesetBoundary = "changeset_" + this._createBoundary();
this._changesetEntries = [];
}
在调用此函数之前,this._changesetEntries 始终为空。我预计 his._changesetEntries 将在调用此函数后变为空数组。它在chrome,firefox,ie8中按预期发生。在ie8中并非总是如此,我发现有时这个函数会创建一个方法“indexOf(v, n)”而不是空数组。
这种奇怪的行为会导致这里提到的其他错误 link text
编辑:我现在可以将这个问题从我的代码中隔离出来,当我使用鱼眼 jquery 插件时会出现这个问题。在这个插件中,有类似
[].indexOf || (Array.prototype.indexOf = function (v, n) {
n = (n == null) ? 0 : n;
var m = this.length;
for (var i = n; i < m; i++)
if (this[i] == v) return i;
return -1;
})
这是导致此问题的原因。
【问题讨论】:
标签: javascript asp.net-ajax internet-explorer-8