2011-12-26 17 views

答えて

1

あなたはリファラは、タブを開いたときに指定する必要があり、すでに開いているタブにリファラを「追加」することはできません。あなたはそのためのgBrowser.addTab() methodを使用します。

gBrowser.addTab("http://example.com/", {referrerURI: "http://referrer.com/"}); 

gBrowserは、ブラウザウィンドウでグローバル変数です。あなたがブラウザのウィンドウを持っていない場合は、そのためのnsIWindowMediator.getMostRecentWindow()を使用することができます。

var windowMediator = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
           .getService(Components.interfaces.nsIWindowMediator); 
var window = windowMediator.getMostRecentWindow("navigator:browser"); 
window.gBrowser.addTab(...); 
+0

librayのタブの例ではありませんか?ありがとうございます。 –

+0

@MarcosEusebi:アドオンSDKを使用していますか?あなたの質問はそれを言っていません。とにかく、アドオンSDKはリファラーを設定する方法を提供していないので、私の2番目の例のようにchrome authorityとwindow mediatorを使用する必要があります。 –

+0

これを使うhttps://builder.addons.mozilla.org/ –

0

あなたが最初のURIを作成する必要があります。

var ref = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI("http://referrer.com/",null,null); 
gBrowser.addTab("http://example.com/", {referrerURI: ref}); 

をお楽しみください!

関連する問題