#javascript #html #download #popup
Вопрос:
Я хотел бы создать html-файл, содержащий кнопку, которая при нажатии на которую запрашивает пользователя, куда загрузить файл, сгенерированный js. Например, вот скриншот моего браузера firefox, на котором мне предлагается решить, где я хочу сохранить файл, который я собираюсь загрузить с веб-страницы.
В настоящее время мое решение состоит в следующем коде:
<script>
function download(filename, text){
let element = document.createElement('a')
element.setAttribute('href', 'data:text/plain;charset=utf-8,' encodeURIComponent(text))
element.setAttribute('download', filename)
element.click()
}
download("hello.txt","This is the content")
</script>
Однако всплывающее окно не спрашивает, куда сохранить файл, как показано здесь:
Как я могу повторить первую ситуацию с JS и HTML?
Ответ №1:
Это полностью зависит от реализации браузера и не является чем-то, что вы можете контролировать с помощью Javascript.
В этом случае пользователю придется выбрать сохранить файл.
Комментарии:
1. Что происходит в html/js, что вызывает разницу в поведении?
2. На втором изображении у вас нет приглашения сохранить файл, но есть приглашение открыть файл
3. как я могу изменить код так, чтобы вместо него было предложено сохранить файл?