javascriptを使用してページのHTMLソースコードにアクセスする方法はありますか?ページからHTMLソースを取得するにはどうすればよいですか?
私はdocument.body.innerHTML
を使用できますが、本体にコードのみが含まれていることを知っています。私は、headタグとbodyタグの内容を含むすべてのページソースコードと、可能であればhtmlタグとdoctypeも取得したいと考えています。 可能ですか?これを行うには
javascriptを使用してページのHTMLソースコードにアクセスする方法はありますか?ページからHTMLソースを取得するにはどうすればよいですか?
私はdocument.body.innerHTML
を使用できますが、本体にコードのみが含まれていることを知っています。私は、headタグとbodyタグの内容を含むすべてのページソースコードと、可能であればhtmlタグとdoctypeも取得したいと考えています。 可能ですか?これを行うには
使用
document.documentElement.outerHTML
または
document.documentElement.innerHTML
一つの方法は、XMLHttpRequestを使用してページを再要求するだろう、そしてあなたは、ウェブサーバからそのままページ全体を取得します。
はIEのために、あなたも使用することができます:[0] .outerHTML
これはXMLSerializerを使用してワンライナーで行うことができますdocument.allの。 文字列
<!DOCTYPE html><html><head>
<title>html - javascript page source code - Stack Overflow</title>
...
を与える
var generatedSource = new XMLSerializer().serializeToString(document);
は
ページのソースを再ダウンロードすることができます。
fetch(document.location.href)
.then(response => response.text())
.then(pageSource => /* ... */)
サーバが次回同じコンテンツを提供する必要がないため、信頼性がありません。 –
はdocument.firstChildオブジェクトは、outerHTMLプロパティを持っていない理由をFirefoxで私は知らないが、innerHTMLので、私は除いてほとんどすべてを取得することができますdoctypeのでありがとう! – mck89
@ mck89:ブラウザはありませんが、IEには「outerHTML」があります。 –
Firefox /ほとんどのブラウザで入手したソースは、あなたが提供した「真の」ソースであることに注意してください。 IEでは、ユーザーがフォームに行った変更、新しいDOMコンテンツなどを含むページの「ライブ」HTMLを取得します。IEでは、.innerHTMLを要求する際に、IEが提供する混在した無効なタグスープになります要素。 – scunliffe