Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Экспорт html (https://javascript.ru/forum/dom-window/85555-ehksport-html.html)

Dmitriy154 19.10.2023 20:52

Экспорт html
 
Я сделал простой конструктор сайта. Строю блоки, наполняю... Вопрос, как экспортировать полученный html . Т.е. я нажимаю на кнопку "Экспорт" и автоматом скачиваю сформированный файл?

Dmitriy154 19.10.2023 20:53

Есть ли вариант не прибегать к отправке данных на сервер?

voraa 19.10.2023 21:19

Цитата:

Сообщение от Dmitriy154
Есть ли вариант не прибегать к отправке данных на сервер?

Ну можно сохранить html как строку в файле на своем компьютере.

Aetae 19.10.2023 22:10

Dmitriy154, да, можно сохранять файл скриптом без сервера:
<script>
function save(text, name) {
  const a = document.body.appendChild(Object.assign(document.createElement('a'), {
    href: URL.createObjectURL(new Blob([text])),
    download: name || 'file.html',
    style: 'position:absolute;top:-9999px;right:-9999px;clip:rect(0,0,0,0)'
  }));
  a.click();
  URL.revokeObjectURL(a.href);
  a.remove();
}
</script>
<button onclick="save(document.documentElement.outerHTML, 'documentElement.html')">save</button>

voraa 19.10.2023 22:19

Aetae,
Не обязательно цеплять созданный <a> к body. И без этого работает.

Aetae 19.10.2023 22:31

Цитата:

Сообщение от voraa (Сообщение 553671)
Aetae,
Не обязательно цеплять созданный <a> к body. И без этого работает.

Мб, хз. Когда-то где-то не работало, с тех пор перестраховываюсь.:)

Dmitriy154 20.10.2023 14:49

Спасибо!


Часовой пояс GMT +3, время: 10:47.