2015-11-06 58 views
1

我想構建一個Firefox擴展,在用戶點擊它後,動態構建一個網頁並在新標籤中打開。使用Firefox附加SDK構建網頁

在「標籤」API中,我只看到tab.open()打開超鏈接到遠程網站。我可以構造一個包含所有HTML內容的JavaScript變量(如var page =「blahblah ....」)並打開它嗎?怎麼做?

+0

您不必動態構建它,只需在您的插件中添加一個htm頁面,然後指向它的鏈接將爲'resource:// your addon id/blah.htm'。這個插件創建一個頁面:https://addons.mozilla.org/en-US/firefox/addon/twitch-alarm/ – Noitidart

+1

你也可以創建一個about:blah url到你的頁面,這顯示瞭如何在沒有sdk:https://github.com/Noitidart/ZooniverseXpert – Noitidart

+3

Noitidart,您的評論是正確的答案。不知道爲什麼你選擇離開它作爲評論 – Nandu

回答

1

您不必動態構建它,只需在您的插件中放置一個htm頁面,然後指向它的鏈接就是resource://您的addon id/blah.htm。這個插件創建一個頁面:addons.mozilla.org/en-US/firefox/addon/twitch-alarm

您還可以創建一個about:blah url到您的頁面,這表明如何在沒有sdk的情況下執行此操作:github.com/Noitidart/ZooniverseXpert

+0

你瞭解靜態頁面和動態頁面之間的區別嗎? –

1

您不必動態地創建html頁面,而是在您的插件中添加一個html頁面,並在打開選項卡時將其引用。

tabs.open({ 
    url : self.data.url("js/error.html"), 
    onReady : function(tab) { 
     var errorWorker = tab.attach({ 
      contentScriptFile : self.data.url("js/error.js") 
     }); 
     errorWorker.port.emit("error_page",message); 
    } 
}); 

我在這裏顯示存儲在我的插件錯誤頁面並附加內容的腳本文件,通過main.js和錯誤頁面之間傳遞信息動態地改變HTML頁面的內容。 希望它對你有一些用處。

相關問題