2

jQueryを使用してページの完全なHTMLを返すにはどうすればよいですか?

できない

return $('html').html()

また

return "<html>" + $("html").html() + "</html>";

ページにhtmlタグがまったく含まれていない可能性があるためです。クラスまたはIDタグは、私が制御および変更できるものではないため、使用できません。したがって、ユースケースは、URLを渡す場合、ページの完全なhtmlを返す必要があり、ページにhtmlタグが含まれる場合と含まれない場合があります。

4

3 に答える 3

3

試しましたか:

$(document).html();

編集:これはFirebugでは機能しないので、機能するかどうかはわかりません。

于 2012-06-28T17:14:15.523 に答える
2
document.documentElement.outerHTML;

古いFirefoxの場合は、代わりにを使用してから、タグ.innerHTMLを連結する必要があります。<html>


「ページにhtmlタグがまったく含まれていない可能性があります」

<html>タグがない場合は、ブラウザが自動的に挿入します。元のドキュメントを正確に表現したい場合は、@ Rab Nawazの提案に従って、AJAxリクエストを作成してください。

于 2012-06-28T17:19:30.890 に答える
1

価値があるのは$("html")、ソースドキュメントに要素が含まれていなくても、すべての正常な状況で要素を返すこと<html>です。これは、ソースドキュメントで指定されていない場合でも、ブラウザが特定の必須要素(、、、およびを含む)をDOMツリーに<html>自動的<head>に挿入するためです。<body>

私が考えることができる唯一の例外(何も得られない$("html")場合)は、HTMLではないDOMツリーに対してJQueryを実行している場合、たとえば、JQueryをSVGドキュメントにロードする場合です。しかし、あなたはそれをするのに夢中になるでしょう。:)

于 2012-06-28T17:18:11.317 に答える