Crowycrow: PHP - Google Maps JavaScript API v3 im Firefox

Hallo liebes Selfhtml Forum und seine Schreiber,

meine Google Maps API v3 Installation funktioniert nicht im Firefox, obwohl der IE sie perfekt schluckt.

Ich vermute, dass der Code etwas enthält, was Firefox nicht so recht leiden mag. Kann mir jemand helfen herauszufinden was es ist?

Dangööööö.

http://www3.mappeze.de/Lage_und_Anfahrt/

  1. Vielleicht liegts an dem absolut grauenhaften Code und der inflationären Verwendung von noscript und document.write

    Chrome, Safari und Opera weigern sich jedenfalls auch das auszuführen.

    Wo hast du den schmarrn überhaupt her? In der Maps API Doku steht das nicht so drin.

    Die Verwendung von document.write geschieht zur Laufzeit - die Maps API hingegen läuft Großteils asynchron und nutzt DOM-Manipulation - daran wirds liegen.

    1. LÖL zum Glück weiß ich das inzwischen besser (siehe meinen anderen Post von eben gerade) - zumal es bei diesem Argument im Internet Explorer ja auch nicht funktioniert hätte... LÖL

      Ich verwende document.write und noscript aus einem guten Grund: Um sowohl Script- von Noscript-Usern eine Karte anzuzeigen. So stellt ein einziger Quelltext beide Varianten zur Verfügung, je nach dem, welche Situation im Browser vorliegt. ;)

      1. LÖL zum Glück weiß ich das inzwischen besser (siehe meinen anderen Post von eben gerade) - zumal es bei diesem Argument im Internet Explorer ja auch nicht funktioniert hätte... LÖL

        Ich verwende document.write und noscript aus einem guten Grund: Um sowohl Script- von Noscript-Usern eine Karte anzuzeigen. So stellt ein einziger Quelltext beide Varianten zur Verfügung, je nach dem, welche Situation im Browser vorliegt. ;)

        Das hat genau null sinn - das Mittel der Wahl ist die Variante die ohne JavaScript funktioniert (statische Einbindung via iframe oder als img-Element mit der staticmap-Funktionalität - einen Screenshot machen verstößt gegen die Nutzungsbedingungen, das machst du aber ohnehin nicht). Falls JavaScript verfügbar ist, wird das iframe-Element oder img-Element weggeschmissen und ein entsprechendes Element für die Karte erzeugt (per DOM und nicht document.write). Dann funktioniert die Sache problemlos mit und ohne JavaScript und ist trotzdem anständig gelöst und das Tolle ist: das kann die Maps-API out of the box, du musst keinen Hanstand mit tonnenweise noscript-Elementen zimmern. Alternativ kann man natürlich auch gleich den Fallback-Inhalt ins map_canvas-Element packen, dann brauchst du garnix erzeugen - alles schon da:

        <div id="map_canvas">
          <img src="http://maps.google.com/maps/api/staticmap?foo" />
        </div>

        Problem solved - ohne irrwitzige Konstrukte.

  2. GELÖST

    display von #map_canvas mußte auf "block" anstelle von "inline" gesetzt werden.

    Die Einstellungen von width and height haben keinen Effekt, wenn display auf inline gesetzt ist, daher konnte man die Karte nicht sehen.