The thing is, almost all subresources load asynchronously.  The load event exists to tell us when those asynchronous loads have finished.  So, I think it follows that an asynchronous resource load may reasonably block the load event.  (That&#39;s the point of the load event afterall!)<div>
<br></div><div>-Darin</div><div><br><div><br><div class="gmail_quote">On Fri, Feb 12, 2010 at 10:10 AM, Nicholas Zakas <span dir="ltr">&lt;<a href="mailto:nzakas@yahoo-inc.com">nzakas@yahoo-inc.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">










<div lang="EN-US" link="blue" vlink="blue">

<div>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">To me “asynchronous”
fundamentally means “doesn’t block other things from happening,”
so if async currently does block the load event from firing then that seems
very wrong to me.</span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font></p>

<div>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">-Nicholas</span></font><font color="navy"><span style="color:navy"></span></font></p>

<p class="MsoNormal"><font size="3" color="navy" face="Times New Roman"><span style="font-size:12.0pt;color:navy"> </span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">______________________________________________</span></font><font color="navy"><span style="color:navy"></span></font></p>


<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">Commander Lock: &quot;Damnit Morpheus, not
everyone believes what you believe!&quot;</span></font><font color="navy"><span style="color:navy"></span></font></p>

<p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">Morpheus: &quot;My beliefs do not require
them to.&quot;</span></font></p>

</div>

<div>

<div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">

<hr size="2" width="100%" align="center">

</span></font></div>

<p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma">
<a href="mailto:whatwg-bounces@lists.whatwg.org" target="_blank">whatwg-bounces@lists.whatwg.org</a> [mailto:<a href="mailto:whatwg-bounces@lists.whatwg.org" target="_blank">whatwg-bounces@lists.whatwg.org</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>Brian Kuhn<br>

<b><span style="font-weight:bold">Sent:</span></b> Friday, February 12, 2010
8:03 AM<br>
<b><span style="font-weight:bold">To:</span></b> Jonas Sicking<br>
<b><span style="font-weight:bold">Cc:</span></b> Steve
 Souders; WHAT Working Group<br>
<b><span style="font-weight:bold">Subject:</span></b> Re: [whatwg] should async
scripts block the document&#39;s load event?</span></font></p>

</div><div><div></div><div class="h5">

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Right.  Async scripts aren&#39;t really asynchronous if they block all
the user-visible functionality that sites currently tie to window.onload.</span></font></p>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">I don&#39;t know if we need another attribute, or if we just need to change
the behavior for all async scripts.  But I think the best time to fix this
is now; before too many UAs implement async.</span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">-Brian</span></font></p>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

<div>

<p class="MsoNormal" style="margin-bottom:12.0pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">On Thu, Feb 11, 2010 at 10:41 PM, Jonas Sicking
&lt;jonas@sicking.cc&gt; wrote:</span></font></p>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Though what we want here is a DONTDELAYLOAD attribute. I.e. we want<br>
load to start asap, but we don&#39;t want the load to hold up the load<br>
event if all other resources finish loading before this one.<br>
<font color="#888888"><span style="color:#888888"><br>
/ Jonas</span></font></span></font></p>

<div>

<div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><br>
On Thu, Feb 11, 2010 at 10:23 PM, Steve Souders
&lt;<a href="mailto:whatwg@souders.org" target="_blank">whatwg@souders.org</a>&gt; wrote:<br>
&gt; I just sent email last week proposing a POSTONLOAD attribute for scripts.<br>
&gt;<br>
&gt; -Steve<br>
&gt;<br>
&gt; On 2/10/2010 5:18 PM, Jonas Sicking wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Nov 6, 2009 at 4:22 PM, Brian Kuhn&lt;<a href="mailto:bnkuhn@gmail.com" target="_blank">bnkuhn@gmail.com</a>&gt;  wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; No one has any thoughts on this?<br>
&gt;&gt;&gt; It seems to me that the purpose of async scripts is to get out of
the way<br>
&gt;&gt;&gt; of<br>
&gt;&gt;&gt; user-visible functionality.  Many sites currently attach
user-visible<br>
&gt;&gt;&gt; functionality to window.onload, so it would be great if async
scripts at<br>
&gt;&gt;&gt; least had a way to not block that event.  It would help
minimize the<br>
&gt;&gt;&gt; affect<br>
&gt;&gt;&gt; that secondary-functionality like ads and web analytics have on
the user<br>
&gt;&gt;&gt; experience.<br>
&gt;&gt;&gt; -Brian<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m concerned that this is too big of a departure from how people are<br>
&gt;&gt; used to&lt;script&gt;s behaving.<br>
&gt;&gt;<br>
&gt;&gt; If we do want to do something like this, one possibility would be to<br>
&gt;&gt; create a generic attribute that can go on things
like&lt;img&gt;,&lt;link<br>
&gt;&gt; rel=stylesheet&gt;,&lt;script&gt;  etc that make the resource not
block the<br>
&gt;&gt; &#39;load&#39; event.<br>
&gt;&gt;<br>
&gt;&gt; / Jonas<br>
&gt;&gt;<br>
&gt;</span></font></p>

</div>

</div>

</div>

<p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p>

</div>

</div>

</div></div></div>

</div>


</blockquote></div><br></div></div>