Как открыть диалоговое окно Сохранить как
Как динамически выбрать место сохранения файла на локальном компьютере с помощью чистого javascript.
Решение: В настройках браузера в Инструментах в Загруженных файлах выставить переключатель на Всегда спрашивать, куда сохранять файлы. Вопрос: А если у пользователя этот переключатель стоит Сохранять по-умолчанию в Загрузки, то как временно на стороне пользователя включить этот переключатель. |
Чисто с помощью js никак.
Окно сохранения файла открывается при нажатии на ссылку (<a>) с атрибутом download. (Не уверен, но кажется в настройках браузера еще должно быть указано спрашивать место сохранения, а не сохранять автоматически в какую то папку). Ну можно конечно на js создать элемент <a> с необходимыми атрибутами, проимитировать клик на нем и окно появится. |
Пробовал через ссылку: <a href="text.txt" download>text</a>.
Файл text.txt лежит вместе с index.html. После нажатия на ссылку просто открывается содержимое файла на той же странице. Окно сохранить как не появляется. Код html: <!DOCTYPE html> <html lang="en"> <head> <title>Document</title> </head> <body> <a href="text.txt" download>text</a> </body> </html> Делал как найте: https://webref.ru/html/a/download Там по нажатию по ссылке Скачать файл открывается окно Сохранить как. У меня открывается сразу текст файла. Как правильно написать текст ссылки на файл. |
При работе с сервером (если страница скачивается с сервера) диалоговое окно открывается.
При работе с локальной файловой системой, действительно файл выводится на страницу Вот кстати https://developer.mozilla.org/ru/doc...HTML/Element/a В примечании к атрибуту download Цитата:
|
С помощь программы Denwer и создания сайта действительно открывается окно Сохранить как. А нужно без сервера, чтобы только средствами обычной страницы html локального компьютера открывалось это окно в офлайне на стороне пользователя.
|
Создатели браузеров не подумали, что вам это будет нужно. Они свои браузеры делают, в первую очередь, для работы по сети.
|
Может есть какая-нибудь библиотека javascipt?
|
Забудь о локальных html. Из создателей браузеров никто не заботится об их работоспособности, но зато постоянно накидывают всё новые и новые ограничения, причём произвольно и разрознено. Даже если ты заставишь что-то работать сейчас - совершенно не факт что уже завтра всё снова не сломается.
|
Другими словами, нельзя сделать без сервера!!!
На самом деле можно. Есть файл html по ссылке: https://disk.yandex.ru/d/6qZUCpUlnpl5NA Если нажать на этой странице на кнопку Экспорт -> Сохранить, то в офлайне (без интернета, без сервера) откроется окно Сохранить как. Вопрос: Как это реализовано? |
Цитата:
Но js тут совершенно не при чем. Просто обычным кликом файл не сохранить. Впрочем, если этот файл не скачивается откуда то, а создан как блоб непосредственно скриптом, и его url указан через URL.createObjectURL, то вполне возможно он сохранится. Такие url вроде по умолчанию имеют тот же домен, что и страница, которая их создала. Надо пробовать, что будет при использовании локальных страниц. |
Часовой пояс GMT +3, время: 10:51. |