Это то, что удивляет меня, мой код:
var this_version=null;
try
{
// Firefox 4 and later; Mozilla 2 and later
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID("Mf@mafiaafire.com", function(addon) {
// alert("My extension's version is r" + addon.version);
this_version = addon.version;
});
}
catch (ex) {
// Firefox 3.6 and before; Mozilla 1.9.2 and before
var em = Components.classes["@mozilla.org/extensions/manager;1"]
.getService(Components.interfaces.nsIExtensionManager);
var addon = em.getItemForID("Mf@mafiaafire.com");
//alert("My extension's version is rr" + addon.version);
this_version = addon.version;
}
alert("aa:"+this_version);
/* #### End ### */
if (prefManager.getCharPref("extensions.mafiaafire.quickfilter_ver") != this_version)
{
//prefManager.setCharPref("extensions.mafiaafire.quickfilter_ver",this.version);
alert("bb:"+this_version);
//gBrowser.selectedTab = gBrowser.addTab(prefManager.getCharPref("extensions.mafiaafire.quickfilter_ver_change_url"));
}
Я на FF 4, и первое предупреждение всегда дает мне ноль, а второе предупреждение - правильную версию.
Но если я уберу первое предупреждение, то второе предупреждение даст мне ноль !!!!
Это просто не имеет никакого смысла.