2011-01-27 77 views
0

我試圖編寫具有一些高級控制(遠遠超過從列表中選擇或檢查/ unchenck選擇)的擴展。在瀏覽器選項卡中顯示擴展頁面

我希望創建單獨的頁面來執行所有必需的操作,理想情況下它將是單獨的選項卡。

的問題是:

是否有可能創建XUL窗口,並把它們插入到瀏覽器的標籤?

現在我只有一個想法 - 將html頁面存儲到/ content文件夾中,並使用它們。但我不喜歡該用戶會看到一些更奇怪的網址鉻://blalbla/content/control.html等

+0

Forecastfox做到了這一點http://www.getforecastfox.com/ - 如果你右鍵點擊並選擇選項,它會從http://www.getforecastfox.com/customize/13/打開一個html頁面,你可以看看代碼的擴展名。 – Mihailo 2011-01-28 09:16:38

回答

1

這也適用於XUL頁面。但是,如果您想隱藏用戶的chrome:網址,則可以創建一個組件,將about:myext重定向到chrome:網址。的部分片斷如下:

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註冊您的組件,這將重定向about:myext你的XUL頁面。

相關問題