2011-03-15 20 views
7

我使用uploadify在我的CMS中上傳文件。一切都很好,直到最近。我在這部分得到了在這條線「調用NPObject上的方法時出錯!」在Uploadify

document.getElementById(jQuery(this).attr('id') + 'Uploader').startFileUpload(ID, checkComplete);

錯誤

Error calling method on NPObject

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

請指定您使用的瀏覽器。 – sergzach 2011-05-28 19:06:44

回答

0

我認爲原因在於您使用的其他JavaScript庫。

某些庫(例如Prototype.js或jQuery.js)會更改代碼的行爲。例如,在某些情況下,您不能重載prototype。結果可能在明確(明顯)的地方未定義(就像你使用一個數組變量,索引錯誤)。你應該查看額外的庫的源代碼,可能他們用prototype的東西來破壞你提到的函數中的代碼。

在我的實踐我有當prototype超載正確工作的情況(這是字符串原型像你的情況)。所以只是不要使用prototype

相關問題