2010-05-14 103 views
4

我的Firefox擴展有一個對象myExt。如何從當前文檔/窗口訪問Firefox擴展變量

myExt = { 
request: function(){ 
    //adds dynamic script element to the current webpage's head tag 
}, 
callback: function(json) { 
    //do something with this 
} 
}; 

myExt.request增加了動態添加腳本元素,返回JSON的服務器,我想將JSON發送到我的擴展的js代碼中存在的myExt.callback。

從我的分機

//from my extension, i add a script element 
myExt.request(); 

坪服務器,回網頁

//from server i get the following response 
myExt.callback ({"some":"json"}) ; 

//but the window doesnt find a reference to myExt 

如何使從網頁到myExt變量的引用?

回答

5

Firefox擴展以高權限(chrome)運行JavaScript並且可以完全訪問瀏覽器。來自網頁的JavaScript代碼運行未經授權的JavaScript,除此之外,不能直接引用或直接與特權JavaScript進行交互。

通常,當您的擴展程序代碼與來自網站的代碼進行交互時,爲了不打開可能允許惡意網站使用Chrome特權執行JavaScript的安全漏洞,您必須非常小心。

,如果您需要特權和非特權JavaScript之間的數據交換,您可以在這裏找到更多信息,包括代碼片段:

https://developer.mozilla.org/en/Security_best_practices_in_extensions

相關問題