我的页面中包含原型的网站,我也有使用jquery的第三方脚本。当页面加载时,控制台日志显示超过10个错误,如下所示:
function eachSlice(number, iterator, context) {
var index = -number
, slices = []
,array = this.toArray();
if (number < 1)
return array;
while ((index += number) < array.length)
slices.push(array.slice(index, index+number));
return slices.collect(iterator, context);
}
当我查看原型脚本时,我看到里面有eachSlice
。
导致此错误的原因是什么?
图像可能比千言万语更好。
答案 0 :(得分:0)
从技术上讲,失败的xhr请求是一个错误。错误在第29行的smc.js中
因为你正在使用prototype.js而prototype.js正在修改核心JavaScript对象,所以会导致该错误(在smc.js中):
for (pn in d) {
p.push(pn + "=" + encodeURIComponent(d[pn]));
};
您可以将其更改为:
for (pn in d) {
if(Object.prototype.hasOwnProperty
.call(d,pn)){
p.push(pn + "=" + encodeURIComponent(d[pn]));
}
};
这将处理此错误和不需要的服务器请求。
稍后在你的pastebin第97行还有另一个for循环可能导致问题:
for (var i in ims) {
d += '<img src...
};
也许您应该确保它不会对prototype.js添加的成员执行此操作:
for (var i in ims) {
if(Object.prototype.hasOwnProperty
.call(ims,i)){
d += '<img src...
}
};