2011-01-27 17 views
0

私はいくつかの高度なコントロール(リストからの選択やチェック/アンチェンジよりもはるかに多くの拡張機能を持つ)を書き込もうとしています。ブラウザのタブで拡張ページを表示

私は必要なすべての操作を行うために別々のページを作成したいと考えています。理想的には別のタブになります。

質問です:

それはXULウィンドウを作成し、ブラウザのタブに挿入することは可能ですか?

今のところ私はちょっと考えました.HTMLページを/ contentフォルダに格納して使用してください。しかし、私はそのユーザーがいくつかのwierd url chrome://blalbla/content/control.htmlなどを見るのが好きではない。

+0

Forecastfoxはhttp://www.getforecastfox.com/を行います - 右クリックして[オプション]を選択すると、http://www.getforecastfox.com/customize/13/からHTMLページが開きます拡張の – Mihailo

答えて

1

これはXULページでも機能する。しかし、ユーザーからchrome:のURLを隠す場合は、about:myextchrome:のURLにリダイレクトするコンポーネントを作成できます。部分的な抜粋は次のとおりです。

myAbout.prototype = { 
    QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIAboutModule]), 

    getURIFlags: function(aURI) { 
    return Components.interfaces.nsIAboutModule.ALLOW_SCRIPT; 
    }, 

    newChannel: function(aURI) { 
    var channel = ioSvc.newChannel("chrome://myext/content/myext.xul", null, null); 
    channel.originalURI = aURI; 
    return channel; 
    } 
}; 

あなたはその後、契約ID @mozilla.org/network/protocol/about;1?what=myextを使用してコンポーネントを登録する必要があり、これはあなたのXULページにabout:myextをリダイレクトします。

関連する問題