Я пытаюсь перенести расширение 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?