2

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の一時ファイルの場所を自動的に検出する方法を考えていますか?

4

2 に答える 2

4
fso.GetSpecialFolder(2)

ここにあります:FileSystemObject.GetSpecialFolder()

于 2011-07-14T18:23:23.150 に答える
2

FileSystemObject.GetSpecialFolder(2)OSの一時フォルダパスを提供します。それはあなたに一時的なインターネットファイルの場所を与えません。

于 2012-07-01T14:51:03.337 に答える