Страницы: 1
Во время работы расширение должно создавать и периодически обращаться к текстовым файлам.
Для этого необходимо иметь общее место для них независящее от наличия прав изменять файлы в корневой папке диска C:\ . Бывает что на рабочих станциях запрещают.
Вопрос, как правильно прописать относительный путь чтобы FF2 или ОС WIN xp/vista через FF2 правильно определяли его.
Пытался для этого в обращаться из расширения по следующим путям
%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); }
Код кнопки вызова:
Вызывал отдельно, для скорости проверки. Строку пути в коде кнопки быстрее поменять чем всё в расширении с последующей его переустановкой.
Для работы с файлом использовался модуль io.js
Отсутствует
Цитирую 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)
Что тут в последней строчке ? Я так понимаю:
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
А.... ну... там было что-то по английски
Если у кого-то появились обоснованные сомнения - то читать я умею. Только по русски.
Спасибо Антон. Всегда выручаешь
Добавлено 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);
Отредактировано Орец (21-01-2008 00:16:42)
Отсутствует
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?
Отсутствует
покачто ещё не получилось создать файл во временной папке
попробуй
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Работает
var tmpfile = DirIO. get ("TmpD"); tmpfile. append ("ff_text.txt"); alert("Путь принят tmpfile " +tmpfile); var rv = FileIO.write(tmpfile, 'Содержание файла', "w", "windows-1251"); alert("Файл создан " +rv);
Отсутствует
Страницы: 1