2013-02-11 54 views
1

我將一個Chrome擴展移植到Firefox,該擴展使用內容腳本通過postMessage調用周圍頁面中的方法。該頁面包含一個事件監聽器就像來自Firefox附加內容的消息到周圍頁面

window.addEventListener('message', function(event) { 
    console.log(event) 
}, false); 

我試圖從發送一個Firefox的消息附加使用調用SDK內容的腳本:

self.postMessage({toPage: true, type: "initAck"}, "*"); 

BTW我直接嘗試使用windows.postMessage,但我得到一個異常,說我應該使用self.postMessage

我聽這個消息的main.js加上並通過worker.postMessage方法張貼它,但消息n曾經到達頁面的事件監聽器:

pageMod.PageMod({ 
    include: "*", 
    contentScriptWhen: "start", 
    contentScriptFile: [self.data.url("jquery.min.js"), 
         self.data.url("myscript.js")], 
    onAttach: function(worker) { 
     worker.on("message", function(addonMessage) { 
      worker.postMessage(addonMessage, "*"); 
     }); 
    } 
}); 

一般情況下,是有一個Firefox的上下文腳本訪問周圍頁面的方法嗎?

回答

1

不知道如果我收到了你的問題,但是在documentation描述如何從內容腳本發送消息到網頁腳本:

document.defaultView.postMessage("Message from content script", "http://my-domain.org/"); 

希望它能幫助!

+0

嗨,那工作,謝謝 – Krumpi 2013-02-14 17:32:00