Чтение фрагмента JS из локального файла

#javascript #console #local #code-snippets

#javascript #консоль #Местные новости #фрагменты кода

Вопрос:

У меня есть фрагмент JavaScript, который был создан, сохранен и выполняется исключительно внутри Chrome> Devtools> sources> Snippets. Это личный код, которым я ни с кем не делюсь, и он выполняется только на одной машине и только внутри консоли Chrome. Таким образом, любые опасения по поводу безопасности неуместны.

Фрагмент использует ряд параметров, которые в настоящее время жестко запрограммированы в виде массива внутри самого фрагмента. Я хотел бы сделать код более гибким, сохранив параметры в текстовом файле, затем фрагмент во время выполнения должен считывать эти параметры из файла и сохранять в памяти в виде массива строк.

Нет HTML-документа или элементов, поэтому я не знаю, как использовать File API или FileReader в этом случае.

Вопрос: как прочитать локальный текстовый файл (на стороне клиента), используя простой JS-код, который выполняется внутри консоли Chrome?

Спасибо

Комментарии:

1. Привет, Ясир, вы можете установить свои параметры и функции в объекте window, чтобы повторно использовать их внутри другого файла, вы пробовали этот способ?

2. Привет, Тарик, не уверен, как это сделать. Кстати, список параметров может составлять несколько тысяч строк текста (и со временем меняется). Я не возражаю, если есть способ скопировать их в localStorage или любую память в браузере, но основная трудность заключается в возможности считывания их из файла.

3. window.foo = fooInstance; window.fooFunction = fooFunctionSignature; эти две переменные могут использоваться в любом скрипте в текущем окне Yasser

Ответ №1:

https://developer.mozilla.org/en-US/docs/Web/API/FileReader предполагает, что он вообще не должен использоваться так, как вы имеете в виду.

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

Комментарии:

1. Это именно моя проблема. Похоже, FileReader не работает. MDN говорит, что он должен работать в безопасной среде, но я полагаю, что запуск фрагмента внутри консоли настолько безопасен, насколько это возможно.

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

3. @Yasser Ali Ну, вам понадобятся элементы DOM, такие как ввод файла или холст, тогда это сработает, потому что вы можете показать диалоговое окно «загрузить файл». Но без элементов DOM и взаимодействия с пользователем я не понимаю, как это может работать. Возможно, требования … плохие.