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.htmlのドキュメントを参照しportてください。

于 2012-09-20T09:23:35.430 に答える