[JavaScript] 外部HTMLを読み込んでDOM上へ展開する方法
1 min read
外部コンテンツをiframe
などを使わずに HTML 上へ展開したい。
前提
- 外部から HTML ファイルを取得する(CORS 対応済み)
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 を挿入する