2

私はFirefox拡張機能を書いていますが、TabOpenイベントをリッスンして、開かれたタブに関する詳細を取得する必要があります。eventしかし、コールバックが受け取るオブジェクトから実際のタブを取得する方法がわかりません。のどこかにありevent.dataますか? このオブジェクトを検査する方法はありますか?

これまでに試したいくつかのコードですが、機能しません:

Application.activeWindow.events.addListener("TabOpen",
    function(event) {
        Application.console.log("TabOpen");
        var tab = event.data.target;
        Application.console.log(tab.uri);
    }
);
4

3 に答える 3

1

コードでは、event.data はBrowserTab objectを提供します。タブの現在の URI が必要な場合はtab.uri.spec、文字列バージョンが必要です。単に nsIURI オブジェクトtab.uriが必要な場合も同様です。

于 2009-05-18T16:18:38.727 に答える
0

これは MDC の例ですが、FUEL を使用していません。

// add event listener
var container = gBrowser.mPanelContainer;
container.addEventListener("DOMNodeInserted", exampleTabAdded, false);

function exampleTabAdded(event)
{ // listening for new tabs
  if (event.relatedNode != gBrowser.mPanelContainer)
    return; //Could be anywhere in the DOM (unless bubbling is caught at the interface?)

  var browser;
    browser = event.target.childNodes[1];
  // browser is the XUL element of the browser that's been added
}
于 2009-05-18T14:12:06.127 に答える
0

これに役立ついくつかの新しいコンテンツを MDC に追加しました。TabOpen イベントからタブ オブジェクトをプルする方法に関する情報は、次の例で利用できるようになりました。

https://developer.mozilla.org/En/FUEL/Window

私がそれをしている間、他の掃除もしました。これが役立つことを願っています (特に検索インデックスが更新された場合)。

于 2009-05-19T14:33:11.950 に答える