2012-03-25 33 views
-1


在我的XPI中,我從用戶的PC(file://)獲取javascript代碼並在沙箱中運行js代碼。 出於某種原因,我得到沒有很好地形成對我的第一行代碼錯誤,是一個註釋:在xpi的第一行沒有很好地形成錯誤

// Yosy

我的代碼仍在運行,但這個錯誤是煩人,我想解決這個問題,有什麼建議?

代碼例運行的代碼:

var sandbox = new Components.utils.Sandbox(safeWin); 
sandbox.window = win; 
sandbox.doc = win.doc; 
sandbox.__proto__ = win; 
+0

你是如何初始化的沙箱?你在使用'Components.utils.Sandbox'嗎?我們能否看到關鍵代碼的一小部分? – Saebekassebil 2012-03-25 11:31:13

+0

嗨,我更新了與沙箱使用代碼示例 – Yosi 2012-03-25 11:40:45

回答

1

「不合式」 是一個XML處理錯誤。瀏覽器嘗試將您的JavaScript代碼解釋爲XML。您的代碼示例沒有顯示,但我猜測您正在使用XMLHttpRequest下載您的腳本 - 默認情況下XMLHttpRequest將嘗試解析XML代碼(因爲它已經說過)。你要告訴它你下載的是不應該被解析的純文本:

var request = new XMLHttpRequest(); 
request.open("GET", url); 
request.overrideMimeType("text/plain"); 
request.send(); 
+0

問題感謝弗拉基米爾,出於某種原因,我得到「語法錯誤」。你有理由嗎?順便說一句 - 我添加了「text/javascript」的overrideMimeType – Yosi 2012-03-25 16:31:05

+0

@Yosy:總是有一個文件和行號爲每個錯誤提及 - 不要猶豫,檢查錯誤發生的地方;)。 'text/plain'或'text/javascript'無關緊要,只要它不是XML的東西。 – 2012-03-25 16:35:38

相關問題