外部コンテンツをiframeなどを使わずに HTML 上へ展開したい。
前提
- 外部から HTML ファイルを取得する(CORS 対応済み)
body要素へ取得した HTML を追加する
外部コンテンツをiframeなどを使わずに HTML 上へ展開したい。
body要素へ取得した HTML を追加するDOMParserを利用する。
fetch("https://example.com/contents.html")
.then((res) => res.text())
.then((text) => {
// テキストをDOMに変換する
return new DOMParser().parseFromString(text, "text/html");
})
.then((dom) => document.body.append(dom));
fetchで対象ページを取得するtext()で文字列に変換するDOMParser().parseFromStringで文字列を DOM に変換するbodyへ DOM を挿入する