0

我有一个 Firefox 插件。我用 HTML 和 CSS 创建了一个漂亮的面板小部件。现在,我只需要让我的脚本从面板小部件中运行。我尝试将当前选项卡重定向到按钮值中指定的新 url,如下所示:

<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
4

1 回答 1

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.htmlport上的文档

于 2012-09-20T09:23:35.430 回答