4

我一直在一個Firefox擴展項目,現在我卡在這,如何將ContentScript數據傳出到JavaScript中的模塊全局變量?

var abc = 123; 

var pageMod = require("page-mod"); 
pageMod.PageMod({ 
    include: "*", 
    contentScriptWhen: 'ready', 
    contentScript: 'var newabc = 456;', 
}); 

其中ABC是一個全局變量,newabc是contentScript內的變量。

如何製作abc = newabc?

謝謝!

+0

沒有經驗使用FF擴展,但你試圖改變'contentScript'是''無功newabc = 456; abc = newabc;''?可能是一個愚蠢的建議,我只是不熟悉FF擴展範圍。 – mway 2011-03-11 19:40:16

回答

4

對於附加組件-SDK v1.0b3的PageMod API

var abc = 123; 

var pageMod = require("page-mod"); 
pageMod.PageMod({ 
    include: "*", 
    contentScriptWhen: 'ready', 
    contentScript: 'var newabc = 456;postMessage(newabc);', 
    onAttach: function onAttach(worker) { 
    worker.on('message', function(newabc) { 
     abc = newabc; 
    }); 
    } 
}); 
+0

謝謝!這種方法解決了我的問題。 – eastboundr 2011-03-12 05:21:19

+2

記住這是答案嗎? – erikvold 2011-03-12 07:24:42

+0

嗨,謝謝,我是新來的,對於當時的工作原理並不瞭解。回答已被標記。 – eastboundr 2011-11-17 17:35:27