document
не является элементом, поэтому он не имеет способ визуализации себя как HTML. В настоящее время нет совместимого способа получить весь фактический источник, за исключением запроса Ajax для текущего URL-адреса, и даже это может не возвратить то же самое.
$('html').html()
вы получите все, что находится внутри метки <html>
. В большинстве случаев это много. Tack на <!DOCTYPE html>
, и у вас есть действующий документ HTML (при условии, что исходный исходный текст был представлен).
document.documentElement.outerHtml
, чтобы получить большинство документа. Это будет включать в себя тег <html>
, но не что-либо действительное вне его. В частности, это не приведет вас к типу doctype или комментариям, которые появляются до или после.
Для современных браузеров new XMLSerializer
может предоставить вам текущее содержимое документа. Однако он не работает в IE8.
И, конечно же, все эти методы говорят браузеру о HTMLify документе, возвращают содержимое , поскольку браузер их понимает. Браузер может исказить недействительный HTML, чтобы он соответствовал документу. Например, материал, появляющийся после того, как элемент <body>
может быть перемещен внутри него.
посмотреть здесь http://stackoverflow.com/a/12523515/1533609 – bugwheels94