Firefox扩展,来自面板小部件的URL重定向

时间:2012-09-20 08:42:23

标签: javascript html firefox

我有一个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

1 个答案:

答案 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
});

请参阅https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/content-scripts/using-port.html

port的文档