[webkit-dev] Limiting slow unload handlers (Re: Back/forward cache for pages with unload handlers)

Ojan Vafai ojan at chromium.org
Thu Sep 17 16:14:48 PDT 2009


On Thu, Sep 17, 2009 at 3:35 PM, Brady Eidson <beidson at apple.com> wrote:

> On Sep 17, 2009, at 2:17 PM, Ojan Vafai wrote:
>
> There a plenty of sites that only have a beforeunload handler and have no
> reason to register an unload handler. If you're not prompting the user to
> stay on the page, the two events are essentially equivalent.
>
> This is not true.
>
> I couldn't test IE right now but for Safari, Opera, and Firefox, I just
> independently verified that:
> -unload handlers prevent a page from going into the page cache.
> -beforeunload handlers do not
> -beforeunload handlers are called before a page is navigated away from,
> even when the page is going into the page cache.
>
> So the key difference is that while an unload handler will *only* ever run
> once, when a page is destroyed, a beforeunload handler might run multiple
> times, each time the user navigates away from the page after returning to
> it.
>
> This might not be immediately relevant to the conversation, but they are
> not the same and I'd rather the conversation not assume they are.
>
> In practice, if an author uses beforeunload as their unload handler, they
> are doing The Wrong Thing(tm)
>

Crazy. I didn't know that and I would expect very few web developers do. :)
For what it's worth, I've worked on sites that did this.

Ojan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20090917/2d7ceea1/attachment.html>


More information about the webkit-dev mailing list