Раньше работало во всех моих скриптах, и те которые были мной сделаны раньше, работают и до сих пор.
А вот новые скрипты с недавнего времени, совсем перестали читать и записывать файлы =(((((
Чего я только не-пробовал... перелазил весь рунет и буржнет и этот форум. Ответа нету.
Пользуюсь браузером 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; },
Помогите пожалуйста
Отсутствует
Если нужно прочесть файл и разбить построчно - есть несколько других решений. Не пойму, почему вы упёрлись именно в это.
Данный пример тоже отлично работает. Если новый файл, то отредактируйте его несколько раз, к примеру, меняя кавычки - и всё заработает.
Отсутствует
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)
Отсутствует
Отредактировать файл несколько раз.... (как будто я этого не-делал) Если у меня в файле например только url ссылки с каждой строки, то какие кавычки мне менять?)
Я уже написал решение проблемы. Прочтите еще раз.
Отсутствует
Я уже написал решение проблемы. Прочтите еще раз.
СПАСИБО!!!! Заработало!!!! Уррра!!!
Я уже думал всё, тупик... А не )
Вообщем, да, странным образом помогло то, что я менял в самом скрипте кавычки, эти " на эти ' , сохранял скрипт и потом обратно менял, и так много раз. Реально много раз! И в один из разов, бац, ошибка исчезла и скрипит поехал работать!
Отсутствует