此代码在ie8中导致一个奇怪的错误。它来自link text
中的MicrosoftAjaxAdoNet.js function Sys$Data$_AdoNetBatchWriter$startChangeSet() {
this._changesetBoundary = "changeset_" + this._createBoundary();
this._changesetEntries = [];
}
在调用此函数之前,this._changesetEntries始终为null。我希望在调用此函数后,his._changesetEntries将变为空数组。它发生在chrome,firefox,ie8中。在ie8中并不总是如此,我发现有时这个函数会创建一个方法“ indexOf(v,n)”而不是空数组。
这种奇怪的行为导致了link text
中提到的其他错误 编辑:我现在可以将此问题从我的代码中隔离出来,当我使用fish-eye 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;
})
这是此问题的原因。
答案 0 :(得分:0)
你问题中的'有时'是关键所在:this._changesetEntries
在什么条件下获得函数而不是空数组?有些页面加载?一些调用dataService?一旦你有了测试用例,答案就会变得更加明显。
答案 1 :(得分:0)
你能发布你如何使用它吗?我们所能做的就是推测:
这看起来像一个构造函数。您是否正在使用new Sys$Data$_AdoNetBatchWriter$startChangeSet()
进行实例化?