我有一个Firefox插件。我用HTML和CSS创建了一个漂亮的面板小部件。现在,我只需要从面板小部件中获取我的脚本。我尝试将当前标签重定向到按钮值中指定的新网址,如下所示:
<button class="myBtnClass AllBtnStyles" value="www.example.com/info">Info</button>
我的文件中也有这个脚本;
$(".myBtnClass").click(function () {
window.content.location.href = $(this).attr('value');
});
但是在按钮上单击,当前选项卡将重定向到
resource://jid0-ulah35kcypxsda4kbau4uierkjw-at-jetpack/add-on-name/data/www.example.com/info
答案 0 :(得分:0)
您无法更改面板内容脚本中的选项卡,您需要将地址传递给附加脚本。
所以,在你的面板的脚本中:
$(".myBtnClass").click(function () {
self.port.emit("changeTab", $(this).attr("value"));
});
在附加组件脚本中,您需要侦听端口事件:(假设您的面板名为panel
)
panel.port.on("changeTab", function(url) {
var tabs = require("tabs");
tabs.open(url); // open the url in a new tab
});
上port
的文档