2011-06-01 48 views
0

什麼是以下按鈕處理程序的XULRunner等效項?如何從XULRunner中的XUL應用程序啓動網頁?

function launch_page() { 
    var win = Components.classes['@mozilla.org/appshell/window-mediator;1'] 
     .getService(Components.interfaces.nsIWindowMediator) 
     .getMostRecentWindow('navigator:browser'); 
    win.openUILinkIn('http://www.google.com', 'window'); 
} 

這並不在所安裝到Program Files文件使用XULRunner的--install-應用./foo.xpi我的XUL應用程序做任何事情。

有沒有辦法讓我的XUL應用程序啓動用戶的默認瀏覽器來顯示一個按鈕點擊的網頁?

回答

1

​​作品現在:

// first construct an nsIURI object using the ioservice 
var ioservice = Components.classes["@mozilla.org/network/io-service;1"] 
    .getService(Components.interfaces.nsIIOService); 

var uriToOpen = ioservice.newURI("http://www.google.com/", null, null); 

var extps = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"] 
    .getService(Components.interfaces.nsIExternalProtocolService); 

// now, open it! 
extps.loadURI(uriToOpen, null); 

任何人有一個更標準的方式?

+0

我想說這是非瀏覽器XUL應用程序的正確代碼。當你編寫一個你希望能夠在瀏覽器和非瀏覽器XUL應用程序中安裝的擴展時,事情會變得更加複雜。 – Neil 2011-06-19 23:45:20

相關問題