>Форум 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=15527 |
Орец > 13-02-2007 23:51:06 |
Пытаюсь создать из расширения текстовый файл и дописать его, но не получается, взятый из справочника пример не срабатывает. Выделить код Код:var fso = new ActiveXObject("Scripting.FileSystemObject"); var ts = fso.OpenTextFile("c:\\file.txt", 8); ts.WriteLine("Тестовая строка."); ts.Close(); Функция целиком: Выделить код Код:function bd_site() { //var loc = String(window. getBrowser (). contentDocument. location. href); // Адресс странички var textsite = String(window. getBrowser (). contentDocument); // Текст страницы //alert("Сайт: "+loc); var fso = new ActiveXObject("Scripting.FileSystemObject"); var ts = fso.OpenTextFile("c:\\file.txt", 8); ts.WriteLine("textsite"); ts.Close(); alert("Текст с сайта: "+textsite); } |
Tearis > 14-02-2007 01:33:52 |
Орец |
Орец > 14-02-2007 17:26:38 |
Tearis Можно какой-нибудь примерчик с созданием и дозаписью текстового файла. |
Yan > 14-02-2007 19:59:58 |
Орец |
Орец > 18-02-2007 20:16:37 |
Я подключил модуль, и скопировал пример в свою функцию. Но почему-то не работает Выделить код Код:function filebd_site() { var loc = String(window. getBrowser (). contentDocument. location. href); // Адресс странички var textsite = String(window. getBrowser (). contentDocument); // Текст страницы alert("Сайт: "+loc); var fileIn = FileIO.open('/file.txt'); alert("Выполено 1"); if (fileIn.exists()) { alert("Выполено 2"); var fileOut = FileIO.open('/copy of file.txt'); alert("Выполено 3"); var str = FileIO.read(fileIn); alert("Выполено 4"); var rv = FileIO.write(fileOut, loc); alert("Выполено 5"); alert('File write: ' + rv); rv = FileIO.write(fileOut, loc, 'a'); alert('File append: ' + rv); rv = FileIO.unlink(fileOut); alert('File unlink: ' + rv); alert("Текст с сайта: "+textsite); } } Т.е. при выполнении функции адрес сайта показывает, а дальше уже нет. |
Anton > 18-02-2007 20:48:27 |
то есть чего нет ? поподробней + ошибки из консоли желательно, или try{...}catch(e){alert(e)} сообщения. А вообще, FileIO.open возвращает boolean, так что fileIn.exists() - это неправильно, надо просто fileIn: Добавлено Вск 18 Фев 2007 21:00:53 : Anton пишет
иногда. Неважно, впрочем - сначала всё равно if (fileIn): |
Орец > 18-02-2007 23:23:16 |
Я вставил в текст несколько функций для вывода сообщений. Ошибка из консоли:
|
Anton > 20-02-2007 15:41:26 |
Не вижу пока что ошибки - а в about:config javascript.options.showInConsole = true ? если нет, надо сделать. |
Орец > 24-02-2007 15:33:43 |
А как правильно прописать присоединение Io.js? |
Sumerki > 28-08-2007 14:11:19 |
ну так правильно он подключил модуль или нет? если знаете, дайте ссылочку на грамотный ресурс по JS (русскоязычный). а то webhelp - рассказывает об устаревшем джейэс, там даже try catch нету. На крайний случай (на крайний!!) удовлетворюсь грамотным (только уж совсем удобным тогда) англоязычным ресурсом |
Anton > 28-08-2007 14:50:52 |
В прикреплённых разделах "Русская документация по..." в разделе разработка ссылки на неграмотные ресурсы ? |
Sumerki > 29-08-2007 14:25:14 |
Ммм, ну вполне грамотные, однако не дают полной информации. Опять же, выше упомянутый ty - catch, полагаю много чего еще. Впрочем кажется что-то нашел, подробнее ознакомлюсь, если понравится, отпишусь в вышеупомянутых темах. |
Орец > 31-08-2007 14:24:20 |
Теперь видно в консоли ошибок: Выделить код Код:Ошибка: FileIO is not defined Источник: chrome://filebd/content/filebdOverlay.xul Строка: 31 |
Anton > 31-08-2007 15:53:42 |
Орец пишет
Если jslib не установлена, надо хотя бы положить файл io.js из её состава рядом с filebdOverlay.xul и указать к ней соответствующий путь в <script ...>: Я так думаю, это лишняя информация, как-никак полгода уже прошло. |
Орец > 31-08-2007 17:02:32 |
Он там рядом и лежит
У меня дело так и не продвинулось с тех пор. |
Anton > 31-08-2007 17:13:02 |
Я предполагаю, что надо поменять слова "content" и "filebd" в src элемента <script ...> |
Орец > 31-08-2007 17:36:38 |
Расположеты то эти файы в одной папке, значит и путь у них один Выделить код Код:Источник: chrome://filebd/content/filebdOverlay.xul <script src="chrome://filebd/content/io.js"/> Записал всё содержимое файла io.js в filebdOverlay.xul, теперь вроде не жалуется ни на что. Только следующая накладка. Файл не получается создать/открыть. дальнейший код не выполняется так как fileIn определяется как false |
Anton > 31-08-2007 17:58:36 |
если ОС windows, путь надо определять с указанием диска и обратными слешами:
Такой: http://forum.mozilla-russia.org/viewtop … 34#p167034 ? |
Орец > 02-09-2007 20:24:48 |
всё равно не помогло.
Спасибо |
Anton > 02-09-2007 21:14:06 |
Орец пишет
О, Господи... Смотри сюда, Орец: http://forum.mozilla-russia.org/uploaded/filebd.xpi. |
Орец > 02-09-2007 23:07:13 |
у меня оказывается опечатка была... |