鉻
我有一個Chrome擴展其行爲類似Web應用程序(除了使用Chrome。* API和跨域請求)與多個HTML頁面,所有使用background.html與NPAPI插件進行通信。移植Chrome擴展與多個應用程序頁面,火狐
延伸的結構(從擴展的根)如下:
- background.html
- 插件/(NPAPI插件束)
- 前端/
- main.html中
- foo.html
- bar.html
- ..
的background.html被擴展時加載安裝並加載NPAPI插件,無限期地運行(直到瀏覽器關閉或擴展名是失活/去除)。
當點擊擴展程序的工具欄按鈕時,main.html被打開,它提供了一個UI導航來訪問其他頁面foo.html和bar.html。
這些頁面中的任何一個都使用chrome.extension.getBackgroundPage()
來調用NPAPI插件的方法並同步接收響應。
火狐
Concerining背景NPAPI插件,這已經回答了在previous question of mine。
從當前插件sdk的可用選項中,Firefox將消息傳遞限制爲JSON可序列化的值,因此我不能再直接調用NPAPI插件方法(通過傳遞插件的返回值來解決)。
問題仍然涉及前端應用程序頁面,這是本地的,應該是可信的腳本。我已經嘗試將它們加載爲面板,但面板似乎不適合完整的UI頁面,而是適用於小型信息片段。
有沒有一種方法來加載這些頁面,而不用在每個頁面中注入一個page-mod contentscript?(這也需要在頁面導航時注入新腳本)。
嗨!你是否設法將擴展名轉換爲Firefox?我有與chrome.extension API相同的問題。請告訴我,如果有可能@oliwr – Ofear 2012-10-25 09:49:09
嗨Ofear,是的,我確實設法手動轉換擴展名,但需要前面提到的頁面模塊。這確實意味着消息傳遞的努力增加了,但它可以被轉換。如果你有詳細的問題,請隨時給我發一封電子郵件。 – oliverguenther 2012-10-25 09:58:44