我正在尝试将 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 的临时文件位置?