Как экспортировать исходный контент в div в файл text / html

Предположим, что у меня есть

... Some html ...

и мне нужно взять html-код в этом div, поместить его в файл и принудительно загрузить его в формате TXT , Как это можно сделать? Должен ли я использовать PHP или Javascript? Я скорее javascript.

    Вы можете использовать что-то вроде этого:

    Обновлен jsfiddle с загрузкой btn (jquery)

    Исходный jsfiddle с помощью простого js и автоматического выполнения

    HTML

     
    Hey there

    html – Edit (добавлена ​​ссылка для выполнения этого действия)

     Download the inner html 

    Js

     function downloadInnerHtml(filename, elId, mimeType) { var elHtml = document.getElementById(elId).innerHTML; var link = document.createElement('a'); mimeType = mimeType || 'text/plain'; link.setAttribute('download', filename); link.setAttribute('href', 'data:' + mimeType + ';charset=utf-8,' + encodeURIComponent(elHtml)); link.click(); } var fileName = 'tags.html'; // You can use the .txt extension if you want 

    JS – Редактировать

    Поскольку вы сказали в комментариях, что используете jQuery, я вызову эту функцию из обработчика, а не вызываю его напрямую.

     $('#downloadLink').click(function(){ downloadInnerHtml(fileName, 'main','text/html'); }); 

    Вы можете скачать как текст, просто удалить третий аргумент для функции, и он примет значение по умолчанию, которое является «text / plain», и добавьте расширение .txt в имя файла вместо html.

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

    Запланированный может быть достигнут с помощью javascript-метода. Следующая функция позволит вам добавить персонализированное имя, с которым вы хотите загрузить текстовый файл.

     function saveTextAsFile() { //inputTextToSave--> the text area from which the text to save is //taken from var textToSave = document.getElementById("inputTextToSave").value; var textToSaveAsBlob = new Blob([textToSave], {type:"text/plain"}); var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob); //inputFileNameToSaveAs-->The text field in which the user input for //the desired file name is input into. var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value; var downloadLink = document.createElement("a"); downloadLink.download = fileNameToSaveAs; downloadLink.innerHTML = "Download File"; downloadLink.href = textToSaveAsURL; downloadLink.onclick = destroyClickedElement; downloadLink.style.display = "none"; document.body.appendChild(downloadLink); downloadLink.click(); } function destroyClickedElement(event) { document.body.removeChild(event.target); } 

    Вышеизложенное было получено отсюда .

    Обновление для функции Zagen. Оригинал не будет работать в IE 10-11:

     function downloadInnerHtml(filename, elId, mimeType) { var elHtml = document.getElementById(elId).innerHTML; if (navigator.msSaveBlob) { // IE 10+ navigator.msSaveBlob(new Blob([elHtml], { type: mimeType + ';charset=utf-8;' }), filename); } else { var link = document.createElement('a'); mimeType = mimeType || 'text/plain'; link.setAttribute('download', filename); link.setAttribute('href', 'data:' + mimeType + ';charset=utf-8,' + encodeURIComponent(elHtml)); link.click(); } } 

    Вот мой полный код, я надеюсь, что это может помочь кому-то в той же ситуации

       SAVE PROJECT IN TXT FILE 

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam luctus facilisis ante id luctus. Aliquam vestibulum, dui in pulvinar facilisis, felis nisl viverra nisl, nec ultrices neque tortor eget erat. Vivamus vel leo vehicula, condimentum quam aliquam, congue mauris. Pellentesque id lectus id nulla molestie vehicula sed at velit. Maecenas sit amet tristique nunc, in lobortis mi. Integer in turpis odio. Duis eget urna vestibulum, venenatis justo et, semper neque. Suspendisse in ante massa. Aenean massa nisl, tincidunt id nisl eu, convallis lobortis augue. Integer blandit augue eget nunc condimentum consectetur. Duis gravida nisl hendrerit, sagittis orci in, sollicitudin risus. Nullam elementum sem nec nunc facilisis, et semper metus tincidunt. Phasellus ornare quis ipsum non scelerisque. In sollicitudin est placerat nibh porttitor pretium. Phasellus ac purus nulla. Phasellus in enim vel leo viverra sodales eget sit amet ante. Sed ultrices elementum nibh, tristique euismod nunc volutpat sit amet. Suspendisse potenti. Morbi feugiat diam tristique, euismod dui in, mattis diam. Vestibulum euismod commodo cursus. Proin posuere libero vitae purus blandit, in posuere erat malesuada. Donec ultrices vel velit in feugiat. Vestibulum suscipit erat urna, bibendum vestibulum dui varius sit amet.

    КРЕДИТЫ, ЭТО ОТВЕТ: Как использовать ссылку для вызова JavaScript?