Как уже упоминалось в комментарии к вашему Q, я не уверен, что это хорошая идея, и лично я бы избегал любых расширений, которые делали это, как чума, но ...
Вы можете использоватьсвойство innerHTML
доступно во всех html-элементах для получения HTML-кода внутри этого узла - например, элемента body.Затем вы можете использовать HTTP-запрос AJAX (S!) Для публикации данных.
Возможно, вы также захотите рассмотреть некоторую форму сжатия, поскольку некоторые страницы могут быть очень большими, и большинство пользователей имеют более высокие скорости загрузки, чем скорости загрузки.
NB: innerHTML
получает представление исходного кода, который будет отображать страницу в ее текущем состоянии, а НЕ фактический источник, который был отправлен с веб-сервера - например, если вы использовали JS для добавления элементаисточник для этого элемента будет включен в innerHTML
, даже если он никогда не отправлялся через Интернет.
Альтернативой может быть использование запроса AJAX для получения текущего URL-адреса и отправки себе ответа.Это было бы именно то, что было отправлено клиенту, но рассматриваемый сервер будет знать, что страница обслуживалась дважды (и в некоторых веб-приложениях, которые могут вызвать проблемы - например, при «нажатии» кнопки удаления дважды)
Одно из последних предложений - просто отправить текущий URL-адрес себе и выполнить загрузку на своих собственных серверах. Это также уменьшит некоторые рисков безопасности, поскольку вы не сможете получить контент для страниц.которые не являются общедоступнымиесли вы хотите получить полную информацию
PHP код:
<?php
$PageContents = $_POST['PageContents']
?>
скрипт GreaseMonkey:
var ihtml = document.body.innerHTML;
GM_xmlhttpRequest({
method:'POST',
url:'http://example.com/getData.php',
data:"PageContents=" + escape(ihtml),
headers: {'Content-type': 'application/x-www-form-urlencoded'}
});