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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] Ошибка чтения и записи файла в iMacros JS

№104-09-2017 07:06:37

Яролав
Участник
 
Группа: Members
Зарегистрирован: 29-07-2017
Сообщений: 6
UA: Chrome 50.0

[РЕШЕНО] Ошибка чтения и записи файла в iMacros JS

Раньше работало во всех моих скриптах, и те которые были мной сделаны раньше, работают и до сих пор.
А вот новые скрипты с недавнего времени, совсем перестали читать и записывать файлы =(((((
Чего я только не-пробовал... перелазил весь рунет и буржнет и этот форум. Ответа нету.

Пользуюсь браузером Pale Moon 25.8.1 и iMacros 8.8.2.1
(другие версии браузеров и imacros тоже перепробовал)

Вот функция, которая раньше работала, а теперь нет. (и что странно старые скрипты с этой же функцией работают!)
(перепробовал и другие всевозможные варианты работы с файловой системой через Js везде выдаёт одну и ту же ошибку, связанную с nsILocalFile.initWithPath)

скрытый текст

Выделить код

Код:

var loadFile = function (fileName) {
    var fileDescriptor = imns.FIO.openNode(fileName);
    var text = imns.FIO.readTextFile(fileDescriptor);
    return {
        text: text,
        strings: text.split('\r\n')
    };
}
var domens = loadFile("‪‪D:\\iMacros\\Macros\\Chek\\domenbaza.txt").strings;
var dostr = domens.length;


Выдаёт всегда вот эту ошибку:

[Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsILocalFile.initWithPath]"  nsresult: "0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH)"  location: "JS frame :: resource://imacros/utils.js :: imns.FIO.openNode :: line 203"  data: no], line 199 (Error code: -991)

максимум что я узнал из интернета, это то что эта ошибка говорит о якобы какихто проблемах с путями.

В самом скрипте я правильно пути к файлам прописываю, 100%. и перепроверял сотни раз, и перепробовал всё что можно уже.
А в старых скриптах всё работает! Хотя функция которую я здесь привёл ни на символ не-отличается ни в старых ни в новых скриптах.
Кодировку всегда и везде ставлю UTF-8, в связи с обретением описываемой проблемы уже и другие кодировки перепробовал тоже.

Сам разобрался что ошибка указывает на файл в браузере 

"JS frame :: resource://imacros/utils.js :: imns.FIO.openNode :: line 203"  data: no], line 199

Можно открыть его в браузерной строке вбив resource://imacros/utils.js он и откроеться
или в по адресу (у меня)

C:\User\Palemoon\Profiles\Default\extensions\{81BF1D23-5F17-408D-AC6B-BD6DF7CAF670}\modules\utils.js

Ошибка указывает на 203 строку и 199 строку, этого файла.
Вот этот кусок кода, куда ссылает ошибка. Символмии ** я пометил 199 строку, и *** 203.

скрытый текст

Выделить код

Код:

**// Creates a nsILocalFile instance initialized with 'name'
        openNode: function(name) {
            var node = imns.Cc['@mozilla.org/file/local;1'];
            node = node.createInstance(imns.Ci.nsILocalFile);
            ***node.initWithPath(name);
            return node;
        },


Очевидно дело в команде "node.initWithPath(name);"...
Но что с этим делать, я не-знаю.

Помогите пожалуйста

Отсутствует

 

№204-09-2017 08:31:27

Meldon
Забанен
 
Группа: Members
Зарегистрирован: 25-08-2017
Сообщений: 10
UA: Yandex 17

Re: [РЕШЕНО] Ошибка чтения и записи файла в iMacros JS

Если нужно прочесть файл и разбить построчно - есть несколько других решений. Не пойму, почему вы упёрлись именно в это.

Данный пример тоже отлично работает. Если новый файл, то отредактируйте его несколько раз, к примеру, меняя кавычки - и всё заработает.

Отсутствует

 

№304-09-2017 17:44:32

Яролав
Участник
 
Группа: Members
Зарегистрирован: 29-07-2017
Сообщений: 6
UA: Chrome 50.0

Re: [РЕШЕНО] Ошибка чтения и записи файла в iMacros JS

Meldon
удалено, избыточное цитирование
1. Мне не только прочесть файл нужно, я также использую и функцию записи в файл: (хоть функция, хоть разнообразное сочетание js команд функции)
Функция записи в файл:

скрытый текст

Выделить код

Код:

var appendToFile = function (fileName, cont) {
    var fileDescriptor = imns.FIO.openNode(fileName);
    imns.FIO.appendTextFile(fileDescriptor, cont);
}


И эта функция выдаёт ту же самую ошибку что и функция чтения файла. Поэтому в названии темы я написал "Ошибка чтения и записи файла"

2. А какие другие решения? Чтения и записи файла?
команды иМакроса? Мне не-подходит, я использую js для скорости. Js в 10-30 раз быстрее!
GET запросы к файлам? А как тогда создать файл и записать в него, таким методом?
Какие есть ещё варианты работы с файловой системой? Что-бы и вход и выход применялись.

3. Отредактировать файл несколько раз.... (как будто я этого не-делал) Если у меня в файле например только url ссылки с каждой строки, то какие кавычки мне менять?)

Добавлено 04-09-2017 17:46:37
Meldon, конечно спасибо что попытались помочь)

InfSub

Отредактировано Яролав (04-09-2017 17:46:37)

Отсутствует

 

№404-09-2017 18:16:14

Meldon
Забанен
 
Группа: Members
Зарегистрирован: 25-08-2017
Сообщений: 10
UA: Yandex 17

Re: [РЕШЕНО] Ошибка чтения и записи файла в iMacros JS

Ярослав пишет

Отредактировать файл несколько раз.... (как будто я этого не-делал) Если у меня в файле например только url ссылки с каждой строки, то какие кавычки мне менять?)

Я уже написал решение проблемы. Прочтите еще раз.

Отсутствует

 

№504-09-2017 18:52:01

Яролав
Участник
 
Группа: Members
Зарегистрирован: 29-07-2017
Сообщений: 6
UA: Chrome 50.0

Re: [РЕШЕНО] Ошибка чтения и записи файла в iMacros JS

Meldon пишет

Я уже написал решение проблемы. Прочтите еще раз.

СПАСИБО!!!! :o:) Заработало!!!! Уррра!!!

Я уже думал всё, тупик... А не )

Вообщем, да, странным образом помогло то, что я менял в самом скрипте кавычки, эти " на эти ' , сохранял скрипт и потом обратно менял, и так много раз. Реально много раз! И в один из разов, бац, ошибка исчезла и скрипит поехал работать!:):):)

Отсутствует

 
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] Ошибка чтения и записи файла в iMacros JS

Board footer

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