skyposter: too much recursion im FF

Ich habe auf meiner HP schon ein Script um im Menü Teile auszublenden. In IE und Opera läuft es einwandfrei, aber der FF meldet "too much recursion".

Die Homepage:
http://weddige.eu/

Das Script:
http://weddige.eu/system/onload.js.php

Eigentlich sollten im Menü "Horrorskop" und
"Kryptix" durch "Tools" ersetzt werden. Das klappt aber nicht im FF.

Es wäre toll, wenn sich mal jemand das Script anschauen und mir sagen könnte, wo mein Fehler leigt.

TIA,
skyposter

  1. Hell-O!

    Das Script:
    http://weddige.eu/system/onload.js.php

    Das Script ist im Firefox unvollständig, was daran liegt, dass der Content-type nicht text/javascript sondern text/html ist. Damit läutet die erste öffnende spitze Klammer ein HTML-Element ein, das nie geschlossen wird (rufe im Firefox mal die Quelltextansicht auf, dann siehst du, was ich meine).

    Es wäre toll, wenn sich mal jemand das Script anschauen und mir sagen könnte, wo mein Fehler leigt.

    Es liegt nicht am Javascript, sondern an deinem PHP-Script. Ein header("Content-type: text/javascript; charset=iso-8859-1"); am Anfang des Scriptes sollte Wunder wirken.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    Zitat des Tages || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
    1. Hallo,

      zur Ergänzung: text/javascript wird im HTTP-Kontext nicht verwendet. Üblich ist application/x-javascript, das wird m.W. breiter unterstützt. text/javascript findet lediglich bei <script type="..."> Verwendung.

      Mathias

      1. Hell-O!

        zur Ergänzung: text/javascript wird im HTTP-Kontext nicht verwendet. Üblich ist application/x-javascript, das wird m.W. breiter unterstützt. text/javascript findet lediglich bei <script type="..."> Verwendung.

        Wie darf ich dann RFC 4329 verstehen, das als MIME-Typen text/javascript und application/javascript nennt? Auf IANA.org wird text/javascript als überholt gekennzeichnet und application/javascript der Vorzug gegeben. Zu deinem Hinweis ist im WWW zu lesen, dass der IE damit nicht umgehen kann.

        Ja, watt denn nu?

        Siech*ratlos*fred

        --
        Ich bin strenggenommen auch nur interessierter Laie. (molily)
        Zitat des Tages || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
        1. Hallo,

          Wie darf ich dann RFC 4329 verstehen, das als MIME-Typen text/javascript und application/javascript nennt? Auf IANA.org wird text/javascript als überholt gekennzeichnet und application/javascript der Vorzug gegeben.

          Das ist auch korrekt, aber eine ganz andere Baustelle. application/javascript ist neu und wird noch nicht von allen Browser unterstützt. text/javascript ist alt und gleichzeitig erst kürzlich standardisiert, wurde aber nur im HTML-Code, nicht im HTTP-Content-Type-Header verwendet. Web-Server liefern JavaScript derweil schon immer als application/x-javascript aus.

          Zu deinem Hinweis ist im WWW zu lesen, dass der IE damit nicht umgehen kann.

          Welche Aussage meinst du da? Dort wird gesagt, dass <script type="application/x-javascript"> nicht funktioniert (»... application/x-javascript is not supported by Internet Explorer. Note that IE does not support it only if it is the value of the TYPE attribute, what the server sends does not seem to matter«). Das stimmt, genau das wollte ich sagen.

          Der »korrekte« MIME-Typ ist application/javascript bzw. application/ecmascript. Dennoch gilt für die Praxis m.M.n.:
          <script type="text/javascript">
          und
          Content-Type: application/x-javascript

          Mathias

          1. Der »korrekte« MIME-Typ ist application/javascript bzw. application/ecmascript.

            Aha, danke, das wollte ich wissen. Mir war die Qualität von RFC 4329 nicht klar.

            Dennoch gilt für die Praxis m.M.n.:
            <script type="text/javascript">
            und
            Content-Type: application/x-javascript

            Wollen wir das Ganze pragmatisch angehen, so genügt es m.E., im HTTP-Kontext irgendeinen Inhaltstypen anzugeben, der text/plain entspricht :)

            Siechfred

            --
            Ich bin strenggenommen auch nur interessierter Laie. (molily)
            Zitat des Tages || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
    2. Danke für die Mühe, Siechfred.
      Ich hab gleich mal den header geändert.

      Das Problem war jedoch ein anderes:
      Die Funktion hieß "onLoad()". Die wurde im OnLoad-Ereignis geladen.
      IE und Opera haben kapiert, dass die Funktion gemeint war, der FF hat aber immer wieder das OnLoad-Ereignis ausgelöst.

      Außerdem habe ich festegestellt, dass der FF parentElement nicht kennt. parentNode läuft in allen Browsern.

      Sky