我正在使用Uploadify在我的CMS中上传文件。一切都很好,直到最近。我收到了一个错误
Error calling method on NPObject
在这一行
document.getElementById(jQuery(this).attr('id') + 'Uploader').startFileUpload(ID, checkComplete);
就此而言
uploadifyUpload:function(ID,checkComplete) {
jQuery(this).each(function() {
if (!checkComplete) checkComplete = false;
document.getElementById(jQuery(this).attr('id') + 'Uploader').startFileUpload(ID, checkComplete);
});
},
我不知道为什么,经过一天的调试和测试后,我发现如果我从
中删除replace(/\&/g, '\\&')
String.prototype.escAll = function(){
var s = this;
return s.replace(/\./g, '\\.').replace(/\?/g, '\\?').replace(/\&/g, '\\&');
};
然后再次运作。我真的不知道为什么。
任何帮助都将不胜感激!
答案 0 :(得分:0)
我认为原因在于您使用的其他Javascript库。
某些库(例如Prototype.js或jQuery.js)会更改代码的行为。例如,在某些情况下,您不能重载prototype
。结果可能在 clear(明显)位置中未定义(就像使用带有错误索引的数组变量一样)。您应该查看其他库的源代码,可能是prototype
在您提到的函数中破坏了代码的内容。
在我的练习中,我遇到了prototype
的重载工作不正确的情况(在你的情况下它是 String prototype )。
所以不要使用prototype
。