On Wed, May 7, 2008 at 12:49 PM, Tristan Seligmann <[EMAIL PROTECTED]>
wrote:

> * Harald Blåtand <[EMAIL PROTECTED]> [2008-05-07 12:24:18 +0200]:
>
> > Just thought that since we have IE all over the place, and we can't have
> an
> > app that freezes if a user refreshes it, I might make a feeble
> attempt... By
>
> Indeed, I'm in the same position with my own application: our userbase
> is currently 100% IE-using, with the exception of us developers ;)
>
>
I may have something now that keeps IE from hanging on a page refresh.
Here's what I've changed in the 0.9.31 JS code:

------------------ Nevow/Athena/__init__.js (2 additions)
--------------------------
Nevow.Athena.Widget._initialize = function() {
    Divmod.debug("widget", "Instantiating live widgets");
    Nevow.Athena.Widget._pageLoaded = true;
    // With the next line, sendCloseMessage will get called in IE. // Harald
    Divmod.Base.addUnLoadEvent(Nevow.Athena.page.deliveryChannel); // Harald
    Nevow.Athena.Widget._instantiateWidgets();
    Divmod.debug("widget", "Finished instantiating live widgets");
};
Nevow.Athena.bootstrap = function (pageClassName, clientID) {
    var self = this;
    var pageClass = Divmod.namedAny(pageClassName);
    self.page = pageClass(clientID, Nevow.Athena._createMessageDelivery);
    Nevow.Athena.page = self.page;                                // Harald
    self.page.bindEvents(window);
    .....

 ------------------ Divmod/Base.js (1 added function at the end)
--------------------------
Divmod.Base.addUnLoadEvent = function(channel) {
    /***
        Harald's desperate try to get IE page refresh to work...
    ***/
    window.attachEvent("onunload", function (e)
{channel.sendCloseMessage();});
};
Divmod.Base.jsonRegistry = Divmod.Base.AdapterRegistry();
I'm not used to this coding style, so it's a bit of trial & error. Anyway,
before, sendCloseMessage would _not_ be called; now it is, and I can refresh
ad lib on IE 6.and 7.

Not sure either what this will do to FF. (Since we're stuck with IE, I'm
heavily abusing its non-standard extras, so I can't get my full app to run
on FF.) Besides, you're better on FF than I am :-)

Finally, to fix the onkeypress issue, I think we'd need to go deeper into
the "this" dept. For me, the refresh is more important - if the users insist
on pressing ESC, they can blame themselves.. ;-)

What do you think?

Regards,
Harald
_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to