Range.createContextualFragmentでは<html><head><body>が解析できない
DOM要素にはテキストをHTMLとして解析してDOM要素化する機能はないが、
何故かRangeにはcreateContextualFragmentというメソッドがありHTMLコードをDocumentFragmentに変換することができる。
部分的なHTMLコードにしか使ったことがなかったが、HTMLファイル全部を渡してオブジェクト化できるのか?
やってみた。
が、
<!DOCTYPE>は元々ダメじゃないかと思ってたが、
生成されたDocumentFragmentには<html><head><body>も入ってなかった。
DocumentFragment直下の子要素が<meta>とか<div>とかになってる感じ。
WEBアプリのHTMLエディターを作れないかということでの実験だったのだが、
<html><head><body>は独自に解析して<head>と<body>の中身をcreateContextualFragmentする感じになりそう。
という感じなのだが、
WEBアプリでローカルに保存だとファイルの保存場所がブラウザ依存になっちゃうから、
ローカルファイルの編集アプリをWEBアプリで作るというのは良いもの作れないね。