[whatwg] Avoiding synchronous iframe load

Boris Zbarsky bzbarsky at MIT.EDU
Thu Oct 17 19:24:33 PDT 2013


On 10/17/13 4:04 AM, Ryosuke Niwa wrote:
> I’ll add that Firefox and Internet Explorer both load about:blank asynchronously.

Yes, but in the case of Firefox we consider that a bug.

In particular, we believe that the behavior web authors expect is for 
the document to be created synchronously.  When its onload fires is an 
open question; we believe for web compat that should be async.

Looking at your original testcase with javascript:

<script> var a = false; </script>
<iframe src="javascript:a=true" onload="a = true"></iframe>
<script> alert(a); /* or even setTimeout(function(){alert(a);},0); */ 
setTimeout(function(){alert(a);},10) </script>

What this does in Firefox (where javascript: loads async) depends on 
what the exact order of event delivery is.  The parsing of the <script> 
after the <iframe> races the async javascript: load, so this can alert 
either true or false for the first alert it makes.  For that matter, it 
can do the same for the second alert it makes.

I strongly believe that async loading of javascript: is desirable (which 
is why Gecko switched to it); if the spec requires something else I'm 
all in favor of changing the spec.

-Boris



More information about the whatwg mailing list