Good idea Mark!

This seems to work:

jQuery.support.bfCache = (function(){
    document.body.setAttribute('onpageshow', 'return;');
    return typeof window.onpageshow === 'function';
})();

Event detection technique from
http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/

On 29 July, 11:14, Mark Gibson <jollyt...@gmail.com> wrote:
> Maybe you could approach this from the other side,
> ie. don't add the "unload" handler if bfcache is available.
> You could probably use the pageshow or pagehide events to detect this.
>
> -- Mark
>
> 2009/7/29 James Padolsey <jamespadol...@googlemail.com>:
>
>
>
> > Around line ~3100 (3321 in the latest nightly) you're binding the
> > unload event so as to prevent any memory leaks in our favourite
> > browser (IE). Unfortunately the presence of an "unload" handler
> > disables some caching techniques used in other browsers (see
> >https://developer.mozilla.org/En/Using_Firefox_1.5_caching...
> > Specifically the "bfcache").
>
> > I know you're no longer using browser detection so I was wondering, is
> > there an easy and quick way to detect a browser that's going to leak
> > memory? ... If so, you could conditionally add the "unload" handler,
> > only for browsers that require it (IE)...
>
> > If there's no way of testing it then why can't you just use some
> > browser detection there? Is the cost of disabling the bfcache really
> > worth the benefit of having no browser detection in the core?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to