内部名を参照すると、現在のプロファイルのディレクトリや prefs.js などのパスを簡単に取得することができます。
const DIR = Components.classes['@mozilla.org/file/directory_service;1'].getService(Components.interfaces.nsIProperties);
var fileOrDir = DIR.get('内部名', Components.interfaces.nsIFile);
// 'file:///c:/windows/...' の形式
try {
const ioService = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService);
var URL =ioService.getURLSpecFromFile(tempLocalFile);
} catch(e) { // NS6 ではこちらの方法
var URL = fileOrDir.URL;
}
// 'C:\windows\...' の形式
var path = fileOrDir.QueryInterface(Components.interfaces.nsILocalFile).path;
内部名には以下のものが使えるようです。バージョンによっては使えないものがあるかもしれません。
名前 | 得られるパス | 具体例 |
---|---|---|
システム関係 | ||
CurProcD | Mozilla がインストールされたディレクトリ | C:\Program Files\Mozilla\bin\ など |
APlugns | プラグインのディレクトリ | %MozDir%/plugins/ |
AChrom | chrome ディレクトリ | %MozDir%/chrome/ |
ARes | res ディレクトリ | %MozDir%/res/ |
DefRt | デフォルトの設定のルート | %MozDir%/defaults/ |
ProfDefNoLoc | デフォルトのプロファイルのディレクトリ | %MozDir%/defaults/profile/ |
profDef | デフォルトのプロファイルのディレクトリ(言語別) | %MozDir%/defaults/profile/US/ |
PrfDef | デフォルトの設定のディレクトリ | %MozDir%/defaults/pref/ |
AppData | Mozilla のユーザー設定が保存されるディレクトリ | C:\Windows\Application Data\ など |
AppRegF | registory.dat の位置 | %AppData%/Mozilla/registry.dat |
AppRegD | registory.dat のあるディレクトリ | %AppData%/Mozilla/ |
DefProfRt | プロファイル全体のディレクトリ | %AppData%/Mozilla/Profiles/ |
ProfD | 現在のプロファイルのディレクトリ | %AppData%/Mozilla/Profiles/profilename/xxxxxxxx.slt/ |
WinD | Windows/Winnt ディレクトリ( Windows 環境のみ) | %WinDir%/ |
TmpD | テンポラリファイル用のディレクトリ | %temp%/ |
Home | ホームディレクトリ | Windows の場合、「デスクトップ」ディレクトリ |
プロファイル関係 | ||
UChrm | プロファイル下の chrome ディレクトリ | %ProfD%/chrome/ |
MailD | プロファイル下の mail ディレクトリ | %ProfD%/Mail |
NewsD | プロファイル下の news ディレクトリ | %ProfD%/News |
IMapMD | プロファイル下の ImapMail ディレクトリ | %ProfD%/ImapMail |
PrefF | prefs.js | %ProfD%/prefs.js |
LclSt | localstore.rdf | %ProfD%/localstore.rdf |
BMarks | ブックマーク | %ProfD%/bookmarks.html |
UHist | 履歴 | %ProfD%/history.dat |
UMimTyp | 関連づけの設定 | %ProfD%/mimeTypes.rdf |
SrchF | 検索の設定 | %ProfD%/search.rdf |
UPnls | サイドバーのパネル設定 | %ProfD%/panels.rdf |
MFCaD | ? | %ProfD%/panacea.dat |