Сообщение от provigator
|
если никак через XHR, то буду использовать fetch
|
Но это тоже самое и не работает по-умолчанию в целях безопасности!
laimas, вы не можете получить и оперировать содержимым файла, если вы используете протокол file:/// ни при помощи класса XMLHttpRequest, ни при помощи Fetch API, ни при помощи класса HTMLIFrameElement или каким-либо другим способом!
Код:
|
Fetch API cannot load file:///Users/valentin/javascript/test/data.txt. URL scheme must be "http" or "https" for CORS request. |
laimas, Fetch API предназначен для работы с сетью, а не с файловой системой!
Сообщение от provigator
|
у меня задача запускать скрипт с жесткого диска
data.txt в том же каталоге
|
provigator, вы можете это сделать!
Google Chrome запущенный с аргументами в терминале
Допустим у вас в папке есть основной файл index.html с кодом, который вы привели выше и файл с данными data.txt. Перейдите в эту папку в терминале и запустите Google Chrome со следующими аргументами...
Код:
|
chrome --no-first-run --no-default-browser-check --allow-file-access-from-files --temp-profile --allow-external-pages --allow-file-access --user-data-dir=./chrome-data -open ./index.html |
- Параметр --user-data-dir необходим для предотвращения использования Chrome профиля по умолчанию (он создаст в вашей папке папку chrome-data, как я указал выше)
- Параметр -open <url> указывает, какой файл запустить
После запуска этой команды откроется ваш index.html в отдельном экземпляре браузера, который не будет связан с вашим уже открытым браузером, в котором можно будет читать локальные файлы!
Почему я написал просто
chrome в терминале? Потому что до этого выполнилось
Код:
|
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome" |
которое прописано в ~/.zshrc (для zsh) или в ~/.bash_profile (для bash).
На самом деле вы можете вместо
chrome указать сразу путь к исполняемому файлу браузера. Если вы не можете найти путь, то посмотрите через Activity Monitor / System Monitor / Task Manager.