要するに、xul アプリケーションの現在のディレクトリのフルパスを見つける方法はありますか?
長い説明:
xul ブラウザ アプリケーションでいくつかの html ファイルを開きたいと思います。html ファイルへのパスは、xul アプリケーションからプログラムで設定する必要があります。html ファイルは、私の xul アプリケーションのフォルダーの外にありますが、同じレベルにあります。(ユーザーは SVN から両方のフォルダーをチェックアウトします。xul アプリをインストールすることはできません)
「file:///c:\temp\processing-sample\index.html」のようなフルパスを設定すると、ファイルが正常に開きました
私がやりたいことは、xul アプリケーションに関連するファイルを開くことです。
ユーザーのプロファイル パスを開くことができることがわかりました。
var DIR_SERVICE = new Components.Constructor("@mozilla.org/file/directory_service;1", "nsIProperties");
var path = (new DIR_SERVICE()).get("UChrm", Components.interfaces.nsIFile).path;
var appletPath;
// find directory separator type
if (path.search(/\\/) != -1)
{
appletPath = path + "\\myApp\\content\\applet.html"
}
else
{
appletPath = path + "/myApp/content/applet.html"
}
// Cargar el applet en el iframe
var appletFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
appletFile.initWithPath(appletPath);
var appletURL = Components.classes["@mozilla.org/network/protocol;1?name=file"].createInstance(Components.interfaces.nsIFileProtocolHandler).getURLSpecFromFile(appletFile);
var appletFrame = document.getElementById("appletFrame");
appletFrame.setAttribute("src", appletURL);
xul アプリケーションの現在のディレクトリのフルパスを見つける方法はありますか?