2

我正在尝试将 Firefox 扩展移植到 IE。我需要具备的功能之一是能够写入浏览器的临时文件。在 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)会给你操作系统的临时文件夹路径。它不会为您提供临时 Internet 文件的位置。

于 2012-07-01T14:51:03.337 回答