rem: opener.open(GetPrefs().getComplexValue("editor.spellcheckers.url", Components.interfaces.nsIPrefLocalizedString).data); 
add: var dictionaryUrl = getDictionaryURL();  var ioService = Components.classes["@mozilla.org/network/io-service;1"] .getService(Components.interfaces.nsIIOService); uri = ioService.newURI(dictionaryUrl, null, null); var protocolSvc = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"] .getService(Components.interfaces.nsIExternalProtocolService); if (protocolSvc.isExposedProtocol(uri.scheme)) opener.openDialog(getBrowserURL(), "_blank", "all,dialog=no", dictionaryUrl); else protocolSvc.loadUrl(uri);  
context: function SelectLanguage(){  try {    var item = gDialog.LanguageMenulist.selectedItem;    if (item.value != "more-cmd") {      gSpellChecker.SetCurrentDictionary(item.value);      gLastSelectedLang = item;    }    else {      opener.open(GetPrefs().getComplexValue("editor.spellcheckers.url",                  Components.interfaces.nsIPrefLocalizedString).data);      if (gLastSelectedLang)        gDialog.LanguageMenulist.selectedItem = gLastSelectedLang;    }  } catch (ex) {    dump(ex);  }}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/23c11055cc901e036e2cd2f5ea6937170b68cf06/EdSpellCheck.js/buggy/editor/ui/dialogs/content/EdSpellCheck.js