[Mapserver-users] Mapclient - new window
Jan Hartmann
jhart at frw.uva.nl
Thu Oct 9 10:41:43 PDT 2003
Yes I see what happens now. I'm sorry, you cannot create new windows
after the page has loaded in IE. I seem to have been sleeping when
testing it under IE. IE cannot very well create iframes via the DOM
interface (ie in pure JavaScript). To get things working under IE the
code writes out old-fashioned HTML to the document. Once the HTML page
has been created, no HTML can be added any more. For Mozilla I used the
regular DOM methods to create iframes, so here they can be added after
the page has loaded. This problem cannot be solved for IE: it just does
not implement the full W3C standard for creating elements.
In your case however there is an easy way around. Just create a number
of windows initially, but don't show them. You can make a window (e.g.
w1) invisible by:
w1.div.style.visibility="hidden"
and visible by
w1.div.style.visibility="visible"
When a user requests a new window, just pop up one from the list.
Additionally, you can let the user get rid completely of a window when
he no longer needs it. Windows are very lightweight elements, so you
can create quite a lot of them without overburdening the browser.
I'll add two additional methods to the program to hide and show windows
HTH
Jan
PS Hiding the iframe when zooming and panning is indeed a good
workaround when you want to display both windows and iframes. As I said,
the mouse gets confused when meeting both of them.
Lars-goran Edholm wrote:
> I run IE&.0 with error kod listing and what I found was
> in
> row 831 sign 2 wrong argument
> row 1242 sign 2 'div' is null or not an object
>
> Here´'s a testpage which is very simple but doesn't work in IE6.0, I tried
> it on several computers:
>
> <head><title>zoom3.html</title>
> <script src=../window.js></script>
> <script src=../bmnclient.js></script>
> </head>
> <body>
> <script>
> function newwindow(){
> w1 = new win(10,200,600,450,"Map 1")
> }
> setIconDir("graphics")
> m3 = new menu (
> "New window",newwindow
> )
> m3.realSticky(true)
> m3.stickyButtons(true)
> m3.showAt(900,300)
> //w1 = new win(10,200,600,450,"Map 1")
> </script>
>
> What I'm doing is to build an application that behaves like an Windows
> application with windows that the user can resize and move. Everything
> works fine with legends, querys etc.
> My problem is that I can start the application with 1 or 2 or 3
> or...windows but I want to start with one or none windows and then should
> the user be able to create new windows in runtime.
> I'm currently running an testapplication in which i'm also having an
> iframe with an Intrawebapplication (Delphi) for searching parcels from an
> SQLserver database. The Intraweb application sends paramters to a
> mapclient window which zooms to the parcel. All this is working fine but
> there is som minor problems when I drag mapclient windows (not panning).
> Therefore I hide the IFrame when performing zooming and dragging
> operations. None of this is any problem in IE6.0.
>
>
> Mvh
> Lars-Göran Edholm tel 026/24 14 36
> 1:e byggnadsinspektör
> Bygg- och miljökontoret
> 811 80 Sandviken
> lars-goran.edholm at sandviken.se
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
More information about the MapServer-users
mailing list