ディレクトリ指定とOS判別
やっとXPConnect経由でXPCOM叩くのに慣れてきました。
var Cc = Components.classes; var Ci = Components.interfaces;
だと思って読んで下さい。
replはMozReplです。
nsIPropertiesを利用したディレクトリの指定
http://developer.mozilla.org/en/docs/Code_snippets:File_I/Oに詳しいのですが、
例えば、デフォルトのダウンロード先ディレクトリを参照させたければ、
var file = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("DfltDwld", Ci.nsIFile); repl.print(file.path);
のようにして参照します。
しかしLinuxの場合はこれでは参照出来ません。Deskなどに変えて分岐処理が必要になります。
nsIXULRuntimeを利用したOSの判別
Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).OS;
これでOSの識別子が返ってきます。
- WindowsXP
- WinNT
- MacOSX
- Darwin
- FedoraCore 6
- Linux
のように返って来ます。