У меня есть html-страница на моем локальном хосте — get_description.html
.
Фрагмент ниже является частью кода:
<input type="text" id="url"/>
<button id="get_description_button">Get description</button>
<iframe id="description_container" src="#"/>
При нажатии кнопки src
iframe устанавливается на URL-адрес, введенный в текстовое поле. Страницы, полученные таким образом, очень большие и содержат множество связанных файлов. Что меня интересует на странице, так это блок текста, содержащийся в элементе <div id="description">
.
Есть ли способ уменьшить загрузку ресурсов, связанных со страницей, которая загружается в iframe?
Я не хочу использовать завиток, потому что данные доступны только зарегистрированным пользователям, а шаги, которые необходимо предпринять с завитком для получения содержимого, слишком сложны. iframe прост, так как я использую его в поле, которое отправляет правильные файлы cookie, чтобы идентифицировать запрос как исходящий от вошедшего в систему пользователя, но проблема в том, что очень расточительно получать почти 1 МБ данных, чтобы сохранить 1 КБ. а остальные выкинуть.
Изменить
Если предложенный метод работает только в Firefox, то все в порядке, поэтому я добавил тег Firefox. Кроме того, возможно, что ответ на самом деле из области надстроек Firefox, поэтому я также добавил этот тег.
Проблема не в том, что я не могу получить то, что ищу, а в том, что простой iframe
метод является расточительным.
Я знаю, что Firefox позволяет загружать только текст страницы. Если вы откроете страницу и нажмете Ctrl+U, вы попадете в окно «просмотр исходного кода страницы». Там ссылки ведут себя как обычно и кликабельны, если вы нажмете на ссылку в представлении исходного кода источник новой страницы загружается в окно источника представления без загрузки связанных ресурсов, именно то, что я пытаюсь получить. Но я не знаю, как получить доступ к этому поведению.
Другой пример — надстройка Adblock. Это каким-то образом убивает элементы до их загрузки. С простым Javascript это невозможно. Потому что он срабатывает слишком поздно, чтобы вовремя вмешаться.