Ответ 1
Вы пробовали Googling it? Третья ссылка. http://cybernetnews.com/save-webpage-single-html-file/
Я хочу иметь возможность сохранять/архивировать HTML-страницы в виде одного файла (без этих надоедливых внешних папок).
Я хочу, чтобы результирующий файл содержал все стили, изображения и ссылки (видео и Flash тоже были бы хороши, но не так важны).
Я хочу, чтобы полученный файл был доступен для поиска и редактировался.
Microsoft MHT является одним из таких инструментов, но, к сожалению, он не доступен для поиска под Linux. MHT хорош, но я не хочу быть заблокированным под одной операционной системой или одной компанией. Что было бы хорошей альтернативой - или, может быть, есть совсем другое решение, о котором я не думал?
Заранее благодарим за ваши предложения!
Вы пробовали Googling it? Третья ссылка. http://cybernetnews.com/save-webpage-single-html-file/
Просмотр и создание файлов MHTML в текущих версиях Google Chrome поддерживается путем переключения опции "Сохранить страницу как MHTML" на странице хром://.
введите хром://флаги в поле URL-адреса
Однако включение этого экспериментального параметра отключает сохранение страниц в виде файлов HTML или HTML Complete. На странице chrome://flags:
Расширение SingleFile Chrome является хорошим решением.
Я также написал свой собственный инструмент Python для решения этой проблемы, который я бы рекомендовал попробовать: https://github.com/zTrix/webpage2html
Продолжая ответ zTrix, я бы предложил избегать расширения Chrome (которое вообще не работало для меня) и вместо этого использовало один из следующих вариантов:
npm
@import
Поместите всю свою страницу в поле DIV и используйте этот код следующим образом:
ПРИМЕЧАНИЕ.. не помещает JavaScript выше причины DIV, тогда он не будет работать. JavaScript должен находиться под div, чтобы заставить его работать.
Пример:
<div id="content">
<h1>Hello world</h1>
<i>Hi everybody</i>
</div>
<button class="download">Download</button>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script>
$('.download').on('click', function(){
$('<a />').attr({
download: 'export.html',
href: "data:text/html," + $('#content').html()
})[0].click()
});
</script>
Обычно можно создать один HTML файл, содержащий все его общие дочерние файлы (css, jpg, js, svg,...)
Вы должны переписать HTML файл, заменив значение атрибутов " src
", функции " url()
" и вставив HTML-тег, такой как " <script></script>
" для файлов JavaScript, " <style></style>
" для CSS файлы и " <svg></svg>
" для изображения SVG.
Например, файл изображения GIF в CSS, вызываемый функцией " url()
".
url('https://en.wikipedia.org/wiki/File:TPB_Magnet_Icon.gif')
" на " url('data:image/gif;base64,R0lGODlhDAAMALMPAOXl5ewvErW1tebm5oocDkVFRePj47a2ts0WAOTk5MwVAIkcDesuEs0VAEZGRv///yH5BAEAAA8ALAAAAAAMAAwAAARB8MnnqpuzroZYzQvSNMroUeFIjornbK1mVkRzUgQSyPfbFi/dBRdzCAyJoTFhcBQOiYHyAABUDsiCxAFNWj6UbwQAOw')
" с GIF-изображение в кодировке Base64 с префиксом " data:image/gif;base64,
" Вы можете сделать то же самое для значения атрибута " src
". Это решение может быть использовано для других двоичных файлов. Вы должны адаптировать правильный префикс " data
" к соответствующему закодированному объекту.