Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№113-02-2007 23:51:06

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Создание и изменение текстового файла из расширения.

Пытаюсь создать из расширения  текстовый файл и дописать его, но не получается, взятый из справочника пример не срабатывает.
Я чего-то упустил?

Выделить код

Код:

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);
}

Отсутствует

 

№214-02-2007 01:33:52

Tearis
Участник
 
Группа: Members
Откуда: Воронеж
Зарегистрирован: 18-12-2005
Сообщений: 115
UA: Granparadiso 3.0

Re: Создание и изменение текстового файла из расширения.

Орец
Gecko не поддерживает ActiveX.
А по теме:
nsIFile Interface Reference
File object

Отредактировано Tearis (14-02-2007 01:40:28)


Кому ничего не надо, с того нечего и потребовать.
©Генри Филдинг

Отсутствует

 

№314-02-2007 17:26:38

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: IE 7.0

Re: Создание и изменение текстового файла из расширения.

Tearis
Спасибо, но там всё на английском и нет примеров :rolleyes:

Можно какой-нибудь примерчик с созданием и дозаписью текстового файла. :whiteflag:

Отсутствует

 

№414-02-2007 19:59:58

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1018
UA: Firefox 0.8

Re: Создание и изменение текстового файла из расширения.

Орец
Для чтения/записи файлов есть удобный модуль Io.js:
http://kb.mozillazine.org/Dev_:_Extensions_:_Example_Code_:_File_IO_:_jsio
Там же и примерчик приведён.

Отсутствует

 

№518-02-2007 20:16:37

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

Для чтения/записи файлов есть удобный модуль Io.js:
http://kb.mozillazine.org/Dev_:_Extensions_:_Example_Code_:_File_IO_:_jsio
Там же и примерчик приведён.

Я подключил модуль, и скопировал пример в свою функцию. Но почему-то не работает :(
  Может кто-нибудь знает  в чём ошибка?

Выделить код

Код:

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);
}
}

Т.е. при выполнении функции адрес сайта показывает, а дальше уже нет.

Отредактировано Орец (18-02-2007 20:18:38)

Отсутствует

 

№618-02-2007 20:48:27

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Создание и изменение текстового файла из расширения.

адрес сайта показывает, а дальше уже нет

то есть чего нет ? поподробней + ошибки из консоли желательно, или try{...}catch(e){alert(e)} сообщения.

А вообще, FileIO.open возвращает boolean, так что fileIn.exists() - это неправильно, надо просто fileIn:

Выделить код

Код:

...
if (fileIn) {
...

Добавлено Вск 18 Фев 2007 21:00:53 :
p.s.

Anton пишет

...FileIO.open возвращает boolean...

иногда. Неважно, впрочем - сначала всё равно if (fileIn):

Выделить код

Код:

...
if (fileIn) {
    if (fileIn.exists()) {
...

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№718-02-2007 23:23:16

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

то есть чего нет ? поподробней + ошибки из консоли желательно, или try{...}catch(e){alert(e)} сообщения.

Я вставил в текст несколько функций для вывода сообщений.
Первое вообще не относится к работе с файлами и является единственным появляющимся. Остальные стоят после каждой команды работающей с файлами.

Ошибка из консоли:

FoxClocks (INFO): DIAGNOSTICS:
OS: WINNT (ru-RU)
System local time: Sun Feb 18 2007 23:12:47 GMT+0300. Offset is -180 mins
Application: Firefox 2.0.0.1 (ru)
Extensions: BBCodeXtra (0.2.5.6), Custom Buttons (0.0.1.3), Fasterfox (2.0.0), FoxClocks (2.0.19), HideIP (1.0), JavaScript Debugger (0.9.87), keyconfig (20060828), Lingvo OnLine! (1.3.11), Mozilla.ru ExtensionPack (0.7 for Firefox 1.5-3.0 (20060409)), Nightly Tester Tools (1.2.1), ReloadEvery (2.0), FileBDTest (0.0.1), Talkback (2.0.0.1), Русский словарь проверки орфографии (с ё) (0.1)
FoxClocks version: 2.0.19
FoxClocks time zone data: tz database (modified) 2006o-1 (2006-11-26). Auto-update enabled

No chrome package registered for chrome://content/filebd/io.js .

Отсутствует

 

№820-02-2007 15:41:26

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Создание и изменение текстового файла из расширения.

Ошибка из консоли:

Не вижу пока что ошибки - а в about:config javascript.options.showInConsole = true ? если нет, надо сделать.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№924-02-2007 15:33:43

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

А как правильно прописать присоединение Io.js?
Мне кажется, что дело в этом.
у меня написано:

Выделить код

Код:

<script src="chrome://content/filebd/io.js"/>

Отредактировано Орец (24-02-2007 19:04:01)

Отсутствует

 

№1028-08-2007 14:11:19

Sumerki
Участник
 
Группа: Members
Зарегистрирован: 21-06-2006
Сообщений: 17
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

ну так правильно он подключил модуль или нет? :) если знаете, дайте ссылочку на грамотный ресурс по JS (русскоязычный). а то webhelp - рассказывает об устаревшем джейэс, там даже try catch нету. На крайний случай (на крайний!!) удовлетворюсь грамотным (только уж совсем удобным тогда) англоязычным ресурсом :)


silentium est aurum / in vino veritas

Отсутствует

 

№1128-08-2007 14:50:52

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Создание и изменение текстового файла из расширения.

...грамотный ресурс по JS (русскоязычный).

В прикреплённых разделах "Русская документация по..." в разделе разработка ссылки на неграмотные ресурсы ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1229-08-2007 14:25:14

Sumerki
Участник
 
Группа: Members
Зарегистрирован: 21-06-2006
Сообщений: 17
UA: IE 6.0

Re: Создание и изменение текстового файла из расширения.

Ммм, ну вполне грамотные, однако не дают полной информации. Опять же, выше упомянутый  ty - catch, полагаю много чего еще. Впрочем кажется что-то нашел, подробнее ознакомлюсь, если понравится, отпишусь в вышеупомянутых темах.
ЗЫ их я просмотрел сразу, как вошел в этот раздел Разработки, однако благодарю за совет :)


silentium est aurum / in vino veritas

Отсутствует

 

№1331-08-2007 14:24:20

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

Не вижу пока что ошибки - а в about:config javascript.options.showInConsole = true ? если нет, надо сделать.

Теперь видно в консоли ошибок:

Выделить код

Код:

Ошибка: FileIO is not defined
Источник: chrome://filebd/content/filebdOverlay.xul
Строка: 31

Отсутствует

 

№1431-08-2007 15:53:42

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Создание и изменение текстового файла из расширения.

Орец пишет

...
Теперь видно в консоли ошибок:

Выделить код

Код:

Ошибка: FileIO is not defined
Источник: chrome://filebd/content/filebdOverlay.xul
Строка: 31

Если jslib не установлена, надо хотя бы положить файл io.js из её состава рядом с filebdOverlay.xul и указать к ней соответствующий путь в <script ...>:

Выделить код

Код:

<script src="chrome://filebd/content/io.js"/>

Я так думаю, это лишняя информация, как-никак полгода уже прошло.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1531-08-2007 17:02:32

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

Если jslib не установлена, надо хотя бы положить файл io.js из её состава рядом с filebdOverlay.xul и указать к ней соответствующий путь в <script ...>:

Он там рядом и лежит :)

Я так думаю, это лишняя информация, как-никак полгода уже прошло.

У меня дело так и не продвинулось с тех пор.

Отсутствует

 

№1631-08-2007 17:13:02

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Создание и изменение текстового файла из расширения.

У меня дело так и не продвинулось с тех пор.

Я предполагаю, что надо поменять слова "content" и "filebd" в src элемента <script ...>


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1731-08-2007 17:36:38

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

Расположеты то эти файы в одной папке, значит и путь у них один :blush:

Выделить код

Код:

Источник: chrome://filebd/content/filebdOverlay.xul
<script src="chrome://filebd/content/io.js"/>

Записал всё содержимое файла io.js в filebdOverlay.xul, теперь вроде не жалуется ни на что.

Только следующая накладка. Файл не получается создать/открыть.

Выделить код

Код:

***
	 var fileIn = FileIO.open('/file.txt');
alert("Выполено 1");
       if (fileIn) {
***

дальнейший код не выполняется так как fileIn определяется как false

Отсутствует

 

№1831-08-2007 17:58:36

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Создание и изменение текстового файла из расширения.

fileIn определяется как false

если ОС windows, путь надо определять с указанием диска и обратными слешами:

Выделить код

Код:

"c:\\file.txt"

Расположеты то эти файы в одной папке, значит и путь у них один

Такой: http://forum.mozilla-russia.org/viewtop … 34#p167034 ?
Да, ещё в <script> не указан type="application/x-javascript"

Отредактировано Anton (31-08-2007 18:01:29)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1902-09-2007 20:24:48

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

Да, ещё в <script> не указан type="application/x-javascript"

всё равно не помогло. :angel:

если ОС windows, путь надо определять с указанием диска и обратными слешами:

Спасибо :)

Отсутствует

 

№2002-09-2007 21:14:06

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Создание и изменение текстового файла из расширения.

Орец пишет

Да, ещё в <script> не указан type="application/x-javascript"

всё равно не помогло. :angel:...

О, Господи...

Смотри сюда, Орец: http://forum.mozilla-russia.org/uploaded/filebd.xpi.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№2102-09-2007 23:07:13

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 2.0

Re: Создание и изменение текстового файла из расширения.

у меня оказывается опечатка была...
Всё работает. Спасибо Anton! :)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]