HTML fragment parsing algorithm

HTML fragment parsing algorithm

素片構文解析

[3] 構文解析器は、素片構文解析 (fragment parsing) モードとそうでないモードがあります。 素片構文解析かどうかによって構文解析器の挙動が微妙に違うことがよくあります。

[47] 素片構文解析モードかどうかは、構文解析器現在節点null 以外かどうかと等価です。

[48] 文書の直列化も参照。

innerHTML 属性

XML 取得器

[35] XMLの直列化も参照。

XML 設定器

[31] ChromeXML文書innerHTML で設定された値の整形式性をチェックしていて、 だめなら例外を投げるようです。

テストケース

歴史

[1] innerHTML を使った Bookmarklet の例: javascript:document.body.innerHTML=document.body.innerHTML.split('ー').join('━━━(゜∀゜)━━━');focus(); (名無しさん [sage])

[2] <select>のinnerHTMLについて http://www.parkcity.ne.jp/~chaichan/qanda/qa5944.htm

[4] Safari では注釈節点が無視されるそうです。 (名無しさん [sage] 2005-09-09 21:54:14 +00:00)

[5] 404 Blog Not Found:javascript - element.innerHTML はなぜ速く見えるか http://blog.livedoor.jp/dankogai/archives/50665647.html (名無しさん 2006-10-21 23:03:30 +00:00)

[6] DHTML JavaScript Benchmark (DOM and innerHTML) http://www.gloo.ru/blogs/gloom.dhtml_javascript_benchmark._l_en.wiki.aspx (名無しさん 2006-10-21 23:15:18 +00:00)

[7] Bug 155723 &#8211; innerHTML will need to be fixed to work with XHTML (2007-02-10 14:06:04 +09:00 版) https://bugzilla.mozilla.org/show_bug.cgi?id=155723 (名無しさん)

[8] HTML5 IRC logs: freenode / #whatwg / 20070614 (2007-06-15 08:53:34 +09:00 版) http://krijnhoetmer.nl/irc-logs/whatwg/20070614#l-292 (名無しさん 2007-06-14 23:58:25 +00:00)

[9] Firefox 2.0 ですが、 html でも innerHTML は普通の body 内の要素と同じように処理されているようです。headbodyタグは無視され、結果として文書木から headbody は削除されます。

(名無しさん)

[10] innerHTML Viewer (2007-10-14 18:56:35 +09:00 版) http://simon.html5.org/tools/js/innerhtml-viewer (名無しさん)

[11] Serializing PIs in HTML (detailed review of Serializing HTML fragments) (Simon Pieters 著, 2007-08-15 21:49:17 +09:00 版) http://lists.w3.org/Archives/Public/public-html/2007Aug/0512.html (名無しさん)

[12] IEでp要素の中にp、div要素などを挿入してからそれのinnerHTMLプロパティをセットしようとすると「未知の実行時エラーです。」が発生する - using Misuzilla.Subtech; - subtech (2008-10-07 14:21:57 +09:00 版) http://subtech.g.hatena.ne.jp/mayuki/20080912/1221199569 (名無しさん)

[13] IEの &lt;pre&gt;.innerHTML で複数のスペースを入れる方法 - 葉っぱ日記 ( 版) http://d.hatena.ne.jp/hasegawayosuke/20080925/p1

[14] Eric Vasilik: Code Karma ( 版) http://www.ericvasilik.com/2006/07/code-karma.html

[15] >>14 Trident チームで IE4MSHTML を実装した人による、 innerHTML奇癖の歴史的解説です。

[16] IRC logs: freenode / #whatwg / 20101116 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20101116#l-247

[17] IRC logs: freenode / #whatwg / 20101125 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20101125

[18] Nexus S に搭載されている Android 2.3 のブラウザでは、

  var div = document.createElement ('div');
  div.innerHTML = '<html><style>body { background-color: red }</style>';
... で背景色が変わる不具合があります。 html 開始タグがあると、 その後の stylelink が (文書に挿入せずとも) 適用されてしまいます。

script は流石に実行されませんでした。

[19] IRC logs: freenode / #whatwg / 20110406 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110406

[20] IRC logs: freenode / #whatwg / 20110720 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20110720#l-279

[21] Web Applications 1.0 r6532 Remove bits now specced in DOMPARSING spec. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=6531&to=6532

[22] IRC logs: freenode / #whatwg / 20120208 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120208

[23] IRC logs: freenode / #whatwg / 20120315 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120315

[24] IRC logs: freenode / #whatwg / 20120403 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120403

[25] IRC logs: freenode / #whatwg / 20120405 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20120405#l-80

[26] Bug 14694 – innerHTML in DocumentFragment ( ( 版)) https://www.w3.org/Bugs/Public/show_bug.cgi?id=14694

[27] Web Applications 1.0 r7270 innerHTML on XML nodes shouldn't expose the fact that it's faking the start and end tags... ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7269&to=7270

[28] [whatwg] Proposal for window.DocumentType.prototype.toString ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-October/037728.html

[29] Import innerHTML. · 00c0d17 · whatwg/domparsing ( ( 版)) https://github.com/whatwg/domparsing/commit/00c0d173c1665baf0cd1cbbd796eb72e7aa6bef8

[30] Factor out the fragment parsing algorithm and use DOM Core concepts. · 692c305 · whatwg/domparsing ( ( 版)) https://github.com/whatwg/domparsing/commit/692c305825374641eefc4bc20f6035873d813ad4

[36] Bug 17924 – Setting innerHTML on an SVG element will parse into HTML elements. Since innerHTML is available on Element now, we should check if the context element is an SVG element (or MathML element) other than foreignObject (etc) and use the foreign lands insertion ( ( 版)) https://www.w3.org/Bugs/Public/show_bug.cgi?id=17924

[37] IRC logs: freenode / #whatwg / 20130219 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130219#l-331

[38] Web Applications 1.0 r7768 Parser change: Handle fragment case for non-HTML nodes. This _should_ have no effect on any other case, so please do let me know if this breaks any tests! ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7767&to=7768

[39] innerHTMLとDOM(createElement..)での描画速度の比較 - Enjoy*Study ( ( 版)) http://onozaty.hatenablog.com/entry/20051230/p1

[40] Bug 23460 – Make innerHTML/outerHTML getter non-throwing? ( ( 版)) https://www.w3.org/Bugs/Public/show_bug.cgi?id=23460

[41] IRC logs: freenode / #whatwg / 20131009 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20131009

[42] 404385 – Consider special-casing innerHTML set when only one textnode child before and after ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=404385

[33] updated serializing/setting innerHTML · w3c/webcomponents@c3c46d8 ( 版) https://github.com/w3c/webcomponents/commit/c3c46d87f9764a746523ec17853b0a5eb5ed46e0

[34] 18794 – [Templates]: Setting HTMLTemplateElement.innerHTML should append fragment to content ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=18794

[43] Clarify that the HTML fragment serialisation algorithm does not throw · whatwg/html@4a84d09 ( 版) https://github.com/whatwg/html/commit/4a84d098c705d582bbef5ccad04608d2d309c293

[44] Clarify what "it" refers to in the fragment parser ( (zcorpan著, )) https://github.com/whatwg/html/commit/ca745234e4fe7bc0e0505d098b0f65405baf12e5

[45] `<iframe srcdoc="<script>">` should not execute when inserted via `innerHTML`. · Issue #2300 · whatwg/html () https://github.com/whatwg/html/issues/2300

[46] 122411 - (kitchensink) Mozilla does not have a kitchen sink () https://bugzilla.mozilla.org/show_bug.cgi?id=122411#c84

[49] Serialize the children of void elements as the empty string (Zirro著, ) https://github.com/whatwg/html/commit/d36d3eb0e2164d3bdec168f047f15b7925bd5f83

[50] Should the innerHTML of void elements include child nodes? · Issue #4220 · whatwg/html () https://github.com/whatwg/html/issues/4220

[51] Serialize the children of void elements as the empty string by Zirro · Pull Request #4238 · whatwg/html () https://github.com/whatwg/html/pull/4238

[52] CEA-2014-B