Firefox4に移行した際、Firefox3系で利用できていたコンポーネントクラスが一部使えなくなったようです。
mimaQ AnalyzerではローカルのSQLiteデータベースファイルを見に行く際のFile I/O部分で影響があり、Fx4では利用コンポーネントをエクステンションマネージャーからアドオンマネージャに変えないと動かないようです。
MDC Doc Center File I/O
■エクステ個別フォルダ直下のファイルを見に行く
【Firefox3系】
var file = Components.classes[“@mozilla.org/extensions/manager;1”]
.getService(Components.interfaces.nsIExtensionManager)
.getInstallLocation(id)
.getItemLocation(id);
file.append(“dbname.sqlite”);
【Firefox4系】
Components.utils.import(“resource://gre/modules/AddonManager.jsm”);
AddonManager.getAddonByID(id, function(addon) {
var file = addon.getResourceURI(“dbname.sqlite”).QueryInterface(Components.interfaces.nsIFileURL).file;
});
Fx3とFx4では上記の形でいけました。
細かいバージョン判別は面倒なのでtry~catchで両方入れてます。
追記:
あとFirefox4の場合xpiが展開されずそのままインストールされるので、拡張機能内のファイルを見に行く場合インストールマニフェストにem:unpackを追記する必要があります。
Extensions now installed packed
コメント