[Seaside] Space Breaking LiveCallback in IE
Ron Teitelbaum
Ron at USMedRec.com
Tue Oct 31 14:21:41 UTC 2006
Ok you were right I loaded seaside after seasideAsync, loading async after
seaside fixed the problem.
Before fixing it with loading order I added your exception alert. MS IE 6.0
didn't catch the exception, I got no alert.
Having the space in the table causes the updated code to show on the page,
the problem is that it replaces the entire page with the update stream. All
the other components disappear.
What I have is a tab menu, then a form with a link that switches the form
from simple to advanced. When I press advanced (which does not contain
space) it switches fine. Pressing simple again (the update stream table has
a space) causes only the simple form to display the tab navigation is gone.
Pressing advanced to go back and everything shows back up.
So the space change fixes everything. There appears to be no exception,
when nbsp is used. It works in FireFox but not IE.
I get the feeling that I'm going to need to download some more browsers. I
was looking around at web sites using the different browsers and I was
amazed at how many things work in IE but do not work in FireFox. Some
things work the other way around, and some things don't work in either!
Amazing! I never really had much faith in standards and much less now.
What a pain.
Ron Teitelbaum
_____
From: Michel Bany [mailto:michel.bany at gmail.com]
Sent: Tuesday, October 31, 2006 2:45 AM
To: Ron at USMedRec.com
Cc: 'The Squeak Enterprise Aubergines Server - general discussion.'
Subject: Re: [Seaside] Space Breaking LiveCallback in IE
On 31 Oct 2006, at 00:10 , Ron Teitelbaum wrote:
It does appear to work in IE as long as the space is not there
Well, it all depends what you mean exactly with "it works".
The live callback only replaces in the page those elements that have
the id= attribute. In your example, the div with id "searchForm" is to be
replaced, however, since it contains a form tag, it is not replaced in IE.
However the table with id "searchTable" does not contain a form and
is not included in something that has been replaced and is therefore
replaced. The button with is "findPerson" is also replaced for the
same reasons. If you had some element without an id inside the
form, it would not be replaced.
You could verify this with the following debugging change
} catch (e) {
// Some browsers (like Safari) have read-only elements
alert(replacement);
alert(e)
}
Reference to undefined entity 'nbsp'
This is ringing a bell.
SeasideAsync overrides the two #space methods in Seaside.
If you have reloaded Seaside without reloading SeasideAsync,
then you are missing the two overrides. If this is the case,
then you only need to reload SeasideAsync.
HTH
Michel.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20061031/aa63787f/attachment.htm
More information about the Seaside
mailing list