2012-05-29 135 views
0

我有兩個選項卡,我的擴展使用,我想在它們之間來回傳遞事件。我已經開發了一個Google Chrome瀏覽器擴展,它通過後臺頁面api來實現,但在Firefox中似乎沒有相同的功能。firefox擴展中的跨頁面通信

我認爲在Firefox擴展文檔中的消息管理器會做的伎倆,但對象的文檔是相當差。

如果我不能直接從谷歌瀏覽器api導入背景頁面的想法,我會很高興使用其中一個選項卡來控制其他選項卡。

任何幫助/指導將是偉大的。

回答

2

要做到這一點,你需要建立一個事件菸斗接受從一個頁面的內容腳本事件和管道它到其他頁面的內容腳本main.js:

https://addons.mozilla.org/en-US/developers/docs/sdk/1.7/dev-guide/guides/content-scripts/index.html

我不完全確定你的用例是什麼,所以很難推薦更具體的技術。你會做什麼是:

  • 確保在一個給定的事件發生在一個標籤上,發出該事件使用self.port.emit
  • 到main.js一個內容腳本連接到每個選項卡
  • 當該事件達到main.js時,將其發送給其他選項卡的工作人員。

有一件事情我不明白的是,這2個標籤頁是否會成爲唯一的打開該特定網址的標籤頁?

+0

一個選項卡將是一個固定的URL /頁面(保證沒有重新加載或更改),另一個選項卡實際上可以是任何網頁,並不保證網頁何時或將要更改。 否則,我會查看該文檔。 – OzBarry

+0

工作,謝謝指出。 – OzBarry