Firefoxの拡張機能をIEに移植しようとしています。私が持っている必要がある機能の1つは、ブラウザーの一時ファイルに書き込む機能です。Firefoxでは、これは次のコードで簡単に実行できました。
//Create file to store data transferred to desktop app
var file = Components.classes["@mozilla.org/file/directory_service;1"].
getService(Components.interfaces.nsIProperties).
get("TmpD", Components.interfaces.nsIFile);
file.append("MyExtTempFile.txt");
file.createUnique(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 0666);
// do whatever you need to the created file
この方法は、Windows / IEのさまざまなバージョンで変更される可能性があるため、パスをハードコーディングするよりも望ましい方法でした。
IEでファイルを作成して書き込む方法を次のように理解しました。
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fh = fso.CreateTextFile("C:\\Users\\Administrator\\Desktop\\MyExtTempFile.txt", true);
fh.WriteLine("Some text goes here...");
fh.Close();
IEの一時ファイルの場所を自動的に検出する方法を考えていますか?