Das Google Maps-Skript bricht Safari TypeError: Das Ergebnis des Ausdrucks 'document.body' [null] ist kein Objekt

8

Ich zeige Google Maps auf meiner Webseite an und funktioniert in allen Browsern mit Ausnahme von Safari korrekt.

Safri blättert die Seite aus und der JS-Fehler sagt:

%Vor%

Der Code, von dem es zu kommen scheint, ist ein Skript, zu dem ich mit dieser Zeile von Google verlinke:

%Vor%

Das Skript sieht so aus:

%Vor%

Ich glaube, das könnte die Linie sein, die Probleme verursacht:

%Vor%

Irgendwelche Ideen?

    
LennonR 19.07.2011, 15:35
quelle

3 Antworten

0

Diese Änderung löste einige Ladeprobleme in meinem Fall auf Safari und ie7:

  • Versuchen Sie, die Version in der Skript-URL hinzuzufügen: &v=3.7 , die die eingefrorene Version ist. Vermeiden Sie die Verwendung der Version 3.exp, die einige Probleme beim Laden verursacht.
lib3d 17.04.2013 18:27
quelle
0

Ich habe eine Lösung für dieses Problem gefunden. Versuchen Sie, das Google Maps-API asynchron zu laden. hat für mich gearbeitet

Laden Sie die API asynchron

    
user2989148 17.01.2014 10:14
quelle
0

Bei der Arbeit an OS X 10.10 und Safari war ich mit demselben Problem konfrontiert. Gelöst wurde es, indem async hinzugefügt und dem Skript-Tag hinzugefügt wurde.

%Vor%

Heres, was die Dokumentation zu sagen hat:

  

Synchrones Laden der API

     

In dem Skript-Tag, das die Google Maps-API lädt, ist es möglich, die Option zu überspringen   async-Attribut und der Callback-Parameter. Dies wird dazu führen, dass   Laden der zu blockierenden API, bis die API heruntergeladen ist.

     

Dies wird wahrscheinlich das Laden Ihrer Seite verlangsamen. Aber es bedeutet, dass Sie schreiben können   nachfolgende Skript-Tags unter der Annahme, dass die API bereits geladen ist.

Abgesehen davon sollten Sie sicherstellen, dass das div eine Höhe hat. Die Standardhöhe eines div ist 0, wenn nicht angegeben, dies wird die Karte ausblenden, obwohl sie geladen wird.

viel Glück.

    
Sumeet Basak 08.09.2015 17:52
quelle