>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Путь к временным файлам из расширения. http://forum.mozilla-russia.org/viewtopic.php?id=21142 |
Орец > 20-01-2008 19:57:07 |
Во время работы расширение должно создавать и периодически обращаться к текстовым файлам. Выделить код Код:%APPDATA%/Mozilla/Firefox/Profiles/ff_test.txt ff_test.txt ./ff_test.txt %TEMP%/ff_test.txt chrome://ff_test.txt И по ним же заменяя '/' на '\' или '\\' Но файлы не создавались, в отличие от вручную прописного абсолютного пути, вроде C:\\ff_test.txt. Вызываемая функция: Выделить код Код:function ff_test(par) { alert("Получен параметр: "+par); var fileOut = FileIO.open(par); alert("Файл опознан " +fileOut); var rv = FileIO.write(fileOut, 'Содержимое файла', "w", "windows-1251"); alert("Файл создан" +rv); } Код кнопки вызова: Вызывал отдельно, для скорости проверки. Строку пути в коде кнопки быстрее поменять чем всё в расширении с последующей его переустановкой. |
Anton > 20-01-2008 21:59:14 |
Цитирую Io.js: Выделить код Код:// --------------------------------------------- 188 // ----------------- Nota Bene ----------------- 189 // --------------------------------------------- 190 // Some possible types for get are: 191 // 'ProfD' = profile 192 // 'DefProfRt' = user (e.g., /root/.mozilla) 193 // 'UChrm' = %profile%/chrome 194 // 'DefRt' = installation 195 // 'PrfDef' = %installation%/defaults/pref 196 // 'ProfDefNoLoc' = %installation%/defaults/profile 197 // 'APlugns' = %installation%/plugins 198 // 'AChrom' = %installation%/chrome 199 // 'ComsD' = %installation%/components 200 // 'CurProcD' = installation (usually) 201 // 'Home' = OS root (e.g., /root) 202 // 'TmpD' = OS tmp (e.g., /tmp) Что тут в последней строчке ? Я так понимаю: |
Орец > 20-01-2008 23:19:01 |
А.... ну... там было что-то по английски Добавлено Sun Jan 20 23:42:37 2008 : Выделить код Код:var tmpfile = DirIO. get ("TmpD"). append ("ff_text.txt"); alert("Путь приемлем tmpfile " +tmpfile); var fileOut = FileIO.open(tmpfile); alert("Путь приемлем fileOut " +fileOut); var rv = FileIO.write(fileOut, 'Текст', "w", "windows-1251"); alert("Файл создан1" +rv); var rv = FileIO.write(tmpfile, 'Содержание', "w", "windows-1251"); alert("Файл создан2" +rv); |
Shutnik > 21-01-2008 06:21:32 |
Выделить код Код:var data = "hello world"; var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("TmpD", Components.interfaces.nsIFile); file.append("foobar.txt"); var output = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); output.init(file, 0x02 | 0x08 | 0x20, 0666, 0); output.write(data, data.length); output.close(); p.s.: кто такой Io.js? |
Anton > 21-01-2008 08:45:02 |
попробуй |
Орец > 21-01-2008 15:20:19 |
Anton Выделить код Код:var tmpfile = DirIO. get ("TmpD"); tmpfile. append ("ff_text.txt"); alert("Путь принят tmpfile " +tmpfile); var rv = FileIO.write(tmpfile, 'Содержание файла', "w", "windows-1251"); alert("Файл создан " +rv); |