[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