2015-06-30 73 views
1

我追加HTML到Firefox的標籤從我的腳本用下面的代碼:火狐SDK追加HTML文件

main.js

let worker = tabs.activeTab.attach({ 
    contentScriptFile: [ 
     data.url("jquery.min.js"), 
     data.url("worker.js") 
    ], 
    contentScriptOptions: contentOptions 
    }); 
    attach(style, tabs.activeTab); 

worker.js

$('body').append("<div>foo</div>"); 

我的問題是: 是否可以將html代碼添加到html文件並追加文件。這將使代碼更加美觀和可讀。

編輯:

如果submited到Mozilla的全面檢討以前的代碼,它會被拒絕,因爲創建DOM含有潛在unsanitized數據HTML串節點。

回答

1

一種可能是使用data.load(name)和發送的HTML內容到你的contentScript:

main.js

let worker = tabs.activeTab.attach({ 
    contentScriptFile: [ 
     data.url("jquery.min.js"), 
     data.url("worker.js") 
    ], 
    contentScriptOptions: contentOptions 
    }); 
worker.port.emit("html", data.load("worker.html")); 

worker.js

self.port.on('html', function(contents) { 
    $('body').append(contents); 
}); 

工人.html

<div>foo</div> 
+0

這是一個很好的答案,但它有什麼其他方式嗎?我有很多不同的html標籤,如果我使用這些端口,代碼將變得複雜。 –

+0

我不知道,對不起。 – tynn