[whatwg] API to delay the document load event
jgraham at opera.com
Mon Apr 29 03:50:34 PDT 2013
On 04/29/2013 11:42 AM, Robert O'Callahan wrote:
> On Mon, Apr 29, 2013 at 8:56 PM, James Graham <jgraham at opera.com
> <mailto:jgraham at opera.com>> wrote:
> On 04/29/2013 05:26 AM, Robert O'Callahan wrote:
> Also, this is a feature where it's trivial for applications to
> degrade on browsers that don't have the feature.
> I'm not sure that's true. I mean, it's *possible* but you have to be
> careful to never depend on anything that could happen after the
> "natural" load event in e.g. your load event handler. I can quite
> easily see people getting that wrong.
> I'm not sure what you're getting at here.
I mean, let's say you delay the load event until after some data has
loaded over a web socket. If you try to use that data from the load
event handler it can fail in a racy way in UAs that don't support
delaying the load event. This also seems like the kind of race that you
are more likely to win on a local network, so it wouldn't necessarily be
caught during development.
> In general this seems quite a scary design. The load event is rather
> intimately tied in to the lifecycle of the document, and encouraging
> people to arbitrarily delay it feels like a potential source of bugs
> and confusion.
> Adding new things that delay the load event has not been a source of
> bugs and confusion in my experience. Authors do it a lot and we've done
> it in specs too.
So far we have kept the model where the load event is auomatically
managed by the UA, rather than giving the developer direct control of it.
> Is getting screenshots of pages for thumbnails really something that
> needs an author-facing API? In general the concept of "fully loaded"
> doesn't make any sense for a class of modern web applications, which
> might keep loading content or changing their presentation across
> their liefetime. Therefore it seems like simply taking one
> screenshot at page load and replacing it with one a little later
> after a timeout might be a good-enough solution.
> The problem is when you next load the application. You don't want to
> replace a good screenshot with a screenshot of the application saying
Then don't replace the screenshot with one taken at the load-event time
if you already have one.
More information about the whatwg