web-dev-qa-db-ja.com

jQueryでページ全体のHTMLを取得するにはどうすればよいですか?

$(document).html()を使用しましたが、エラーがスローされました...すべてを取得する方法はありますか?

54
Justin Lee

あなたが試すことができます:

$("html").html();

Htmlタグもキャプチャする場合は、次のようにhtmlに連結できます。

function getPageHTML() {
  return "<html>" + $("html").html() + "</html>";
}
63
Jimmie R. Houts

<html>タグも属性を持つことができることを忘れないでください。文書全体が必要な場合、これは機能するはずです。

 $('html')[0].outerHTML

JQueryがなくても簡単です。

document.documentElement.outerHTML

doctypeを含める も必要な場合は、もう少し複雑です。

var getDocTypeAsString = function () { 
    var node = document.doctype;
    return node ? "<!DOCTYPE "
         + node.name
         + (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '')
         + (!node.publicId && node.systemId ? ' SYSTEM' : '') 
         + (node.systemId ? ' "' + node.systemId + '"' : '')
         + '>\n' : '';
};

getDocTypeAsString() + document.documentElement.outerHTML   
69

つかいます:

document.body.innerHTML

$("html").html()は、最も外側のhtmlタグを除くすべてを取得します。

2
Max Schmeling