在我的扩展程序中(使用附加SDK),我想在选项卡中打开扩展本地网页(例如,data/templates/page.html
)。该页面应该能够调用SDK方法。也就是说,我想操作保存在本地存储中的一些数据,然后显示它们。
换句话说,我想要一个行为类似于面板的标签。
我可以使用tabs
模块和attach
一个contentScript
到页面(虽然它会是一个相当长的脚本)吗?
在导航工具栏中按下按钮时,将打开选项卡:
btn.addEventListener("click",
function(e) {
//open tab here
});
如何打开这样的页面?
答案 0 :(得分:3)
这并不难,很多扩展都在这样做:
const tabs = require('sdk/tabs');
const { data} = require('sdk/self');
tabs.open({
url: data.url('yourpage.html'),
onReady: function onReady(tab) {
tab.attach({
contentScriptFile: data.url('yourcontentscript.js')
});
}
});
您可以在MDN上的tabs documentation找到所需的所有信息。