6

Итак, я использую браузер Chrome/Chromium (на месте может использовать Firefox, если это будет необходимо).

Я просматриваю веб-страницы, которые созданы "на лету" с (предположительно) AJAX (подумайте, как вы прокручиваете страницу вниз на Facebook, и все просто появляется и появляется).

Я хотел бы сохранить html для такой страницы после того, как она загрузит кучу материала, но это не отображается в DOM Инструментов разработчика Chromium, и щелчок правой кнопкой мыши по Сохранить просто сохраняет исходную страницу до загрузки AJAX. вещи.

Что я могу сделать?

2 ответа2

2

Один из способов получить исходный код со всеми динамически загружаемыми элементами - использовать Chrome Developer Tools (F12). Выберите <HTML> в самом начале страницы и скопируйте элемент (CTRL + C). Это также должно скопировать все вложенные данные, динамически загруженные или иным образом, в буфер обмена, и затем вы можете вставить их куда угодно.

Вот рисунок, показывающий процесс:

Процесс

Очевидным недостатком является то, что вам придется вручную загружать любые файлы (.js , .css , изображения) и сохранять их (совет: используйте вкладку "sources" в Dev Tools) в той же папке, что и HTML-файл, если Вы хотите полный сайт или, в качестве альтернативы, измените ссылки в источнике HTML, например, если вы не возражаете против получения некоторых данных из Интернета:

===ORIGINAL===

<img src="file.jpg">

===MODIFIED===

<img src="[url_of_website_that_you_want_to_save]/file.jpg">
2

Bookmarklet

Вот еще один метод, гораздо более простой!

Сохраните следующий код JavaScript как букмарклет и щелкните по нему на странице, для которой вы хотите просмотреть сгенерированный источник:

javascript:(function(){ function htmlEscape(s){s=s.replace(/&/g,'&amp;');s=s.replace(/>/g,'&gt;');s=s.replace(/</g,'&lt;');return s;} x=window.open(); x.document.write('<pre>' + htmlEscape('<html>\n' + document.documentElement.innerHTML + '\n</html>')); x.document.close(); })();

Нажмите здесь, чтобы сделать процесс проще! | JSFiddle

GIF: rahuldottech!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .