Javascript "unspezifizierter Fehler" in Open Layers

8

Ich erhalte diesen Fehler alt text http://img239.imageshack.us/img239/6936/jserror. png wenn die Karte geladen wird.

Der Fehler ist in der ursprünglichen, unveränderten Datei OpenLayers.js in dieser Zeile:

return!!(document.namespaces);

Ich habe versucht, es neu zu schreiben:

return (typeof(document.namespaces) != 'undefined');

und es hat funktioniert, aber dann bekomme ich dieselben "unspezifizierten" Fehler bei weiteren Verweisen auf document.namespaces:

if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns); ...

Ich habe versucht, dies neu zu schreiben:

if(typeof(document.namespaces.olv) == 'undefined') { ...

aber ich bekomme den gleichen "unspezifizierten Fehler".

Ich erhalte nur diesen Fehler im Internet Explorer (ich testete auf 7) und nicht in Firefox.

Irgendwelche Hinweise?

Danke.

    
Alin 04.07.2009, 08:44
quelle

3 Antworten

6

Ich habe die Lösung gefunden.

Das Problem war, dass ich die Map erstellte, als das DOM mit Jquery fertig war:

%Vor%

Alles, was Sie tun müssen, ist, die Karte nach dem onload-Ereignis zu erstellen:

%Vor%     
Alin 06.07.2009, 07:42
quelle
7

Das eigentliche Problem ist, dass document.namespaces in IE8 manchmal nicht bereit ist, wenn $ (document) .ready (wegen VML) ausgelöst wird

Sie können stattdessen verwenden:

%Vor%     
nono 09.11.2010 13:00
quelle
0

Das Problem mit Internet Explorer besteht darin, dass der M $ -Browser die Dimensionen des Kartenbereichs noch nicht bestimmen kann, wenn die Seite das Dokument bereit oder das Fenster onload erreicht. Wenn Sie dies umgehen möchten, können Sie auch Ihre Karten-Div-Dimensionen festlegen:

%Vor%     
milovanderlinden 23.07.2009 16:38
quelle

Tags und Links