@@ -57437,7 +57437,8 @@ interface <dfn>HTMLScriptElement</dfn> : <span>HTMLElement</span> {
57437
57437
</div>
57438
57438
57439
57439
<p class="note">When inserted using the <code data-x="dom-document-write">document.write()</code>
57440
- method, <code>script</code> elements execute (typically blocking further script execution or HTML parsing), but when inserted using
57440
+ method, <code>script</code> elements <a href="#document-written-scripts-intervention">usually</a>
57441
+ execute (typically blocking further script execution or HTML parsing). When inserted using the
57441
57442
<code data-x="dom-innerHTML">innerHTML</code> and <code data-x="dom-outerHTML">outerHTML</code>
57442
57443
attributes, they do not execute at all.</p>
57443
57444
@@ -90625,8 +90626,10 @@ document.body.appendChild(frame)</pre>
90625
90626
"<code data-x=""><plaintext></code>" or "<code data-x=""><!--</code>"). In other cases,
90626
90627
the call can clear the current page first, as if <code
90627
90628
data-x="dom-document-open">document.open()</code> had been called. In yet more cases, the method
90628
- is simply ignored, or throws an exception. To make matters worse, the exact behavior of this
90629
- method can in some cases be dependent on network latency<!--
90629
+ is simply ignored, or throws an exception. Users agents are <a
90630
+ href="#document-written-scripts-intervention">explicitly allowed to avoid executing
90631
+ <code>script</code> elements inserted via this method</a>. And to make matters even worse, the
90632
+ exact behavior of this method can in some cases be dependent on network latency<!--
90630
90633
90631
90634
Namely, in the following case:
90632
90635
@@ -105465,6 +105468,14 @@ document.body.appendChild(text);
105465
105468
algorithm</span>, then mark the <code>script</code> element as <span>"already started"</span>.
105466
105469
(<span>fragment case</span>)</p></li>
105467
105470
105471
+ <li id="document-written-scripts-intervention"><p>If the parser was invoked via the <code
105472
+ data-x="dom-document-write">document.write()</code> or <code
105473
+ data-x="dom-document-writeln">document.writeln()</code> methods, then optionally mark the
105474
+ <code>script</code> element as <span>"already started"</span>. (For example, the user agent
105475
+ might use this clause to prevent execution of <span data-x="origin">cross-origin</span> scripts
105476
+ inserted via <code data-x="dom-document-write">document.write()</code> under slow network
105477
+ conditions, or when the page has already taken a long time to load.)</p></li>
105478
+
105468
105479
<li><p>Insert the newly created element at the <var>adjusted insertion
105469
105480
location</var>.</p></li>
105470
105481
@@ -120817,6 +120828,7 @@ INSERT INTERFACES HERE
120817
120828
Keith Yeung,
120818
120829
Kelly Ford,
120819
120830
Kelly Norton,
120831
+ Kenji Baheux,
120820
120832
Kevin Benson,
120821
120833
Kevin Cole,
120822
120834
Kevin Gadd,
@@ -121089,6 +121101,7 @@ INSERT INTERFACES HERE
121089
121101
Shiino Yuki, <!-- yuki3 on GitHub -->
121090
121102
贺师俊 (HE Shi-Jun), <!-- hax on GitHub -->
121091
121103
Shiki Okasaka,
121104
+ Shivani Sharma,
121092
121105
Shubheksha Jalan,
121093
121106
Sierk Bornemann,
121094
121107
Sigbjørn Finne,
0 commit comments