Besim Karadeniz: Kein MIME-Type für .js-Dateien!

Hallo zusammen, hallo Stefan,

folgende Problematik: Netscape 3.x hat anscheinend Probleme mit externen JavaScript-Dateien. Ich habe zigmal das Script überprüft usw., Problem liegt aber ganz woanders.

Auf Servern sollte kein MIME-Type für .js-Dateien angelegt sein und SCRIPT-Tags, die externe .js-Dateien aufrufen sollen, sollten nicht das TYPE-Attribut mit einen MIME-Type beinhalten. Ich habe alles probiert, habe es allerdings erst zum laufen bekommen, als ich beim Server den MIME-Type für .js-Dateien (waren application/x-javascript, aber es funzt auch nicht mit text/javascript) herausgenommen habe.

Merkwürdiges Problem und noch merkwürdigere Lösung.

Gruß,
-besim

  1. Hallo Besim,

    Auf Servern sollte kein MIME-Type für .js-Dateien angelegt sein und SCRIPT-Tags, die externe .js-Dateien aufrufen sollen, sollten nicht das TYPE-Attribut mit einen MIME-Type beinhalten. Ich habe alles probiert, habe es allerdings erst zum laufen bekommen, als ich beim Server den MIME-Type für .js-Dateien (waren application/x-javascript, aber es funzt auch nicht mit text/javascript) herausgenommen habe.

    Hmm, also lokal ohne http und relativ verlinkt funktionieren js-Dateien erst mal einwandfrei, auch bei Netscape 3.
    Beim Server sollte eigentlich schon ein Mime-Type eingetragen sein. Schlimm ist nur, dass in diesem Fall auch wieder mal zwei Varianten kursieren, die Du ja genannt hast: application/x-javascript und text/javascript. Ich weiss nicht, wo die Verwirrung herkommt, anfangs hiess es immer nur text/javascript (Opa erinnert sich <g>) und irgendwann hat dann jemand (Netscape vermutlich) application/x-javascript ins Spiel gebracht. Vielleicht sollte man im Server einfach beides eintragen.
    Und dann muss der Server natuerlich neu gestartet werden, damit die Konfig-Aenderungen wirksam werden (ist zumindest bei den meisten Produkten so).

    viele Gruesse
      Stefan Muenz

    1. Hallo Stefan,

      Hmm, also lokal ohne http und relativ verlinkt funktionieren js-Dateien erst mal einwandfrei, auch bei Netscape 3.

      Ja, das ist richtig. Deshalb habe ich an meinen Scripten auch wochenlang gerätselt, woran es liegt, daß lokal alles prima läuft, nur über's Web andauernd der Netscape 3 absegelt.

      Beim Server sollte eigentlich schon ein Mime-Type eingetragen sein. Schlimm ist nur, dass in diesem Fall auch wieder mal zwei Varianten kursieren, die Du ja genannt hast: application/x-javascript und text/javascript. Ich weiss nicht, wo die Verwirrung herkommt, anfangs hiess es immer nur text/javascript (Opa erinnert sich <g>) und irgendwann hat dann jemand (Netscape vermutlich) application/x-javascript ins Spiel gebracht. Vielleicht sollte man im Server einfach beides eintragen.

      Genau das hat auch Probleme gebracht. Ich habe erst eines, dann das andere und schließlich alle beide MIME-Typen auf einem IIS 4 (aber auch in Apache und OmniHTTP) getestet, in allen Fällen, wo ein MIME-Type für .js-Dateien eingetragen war, hat Netscape 3 erhebliche Probleme gemacht. Schließlich war ich stinkesauer auf die halbe Welt und hab alle MIME-Typen für externe JavaScripts rausgenommen und siehe da... es funktionierte plötzlich.

      Und dann muss der Server natuerlich neu gestartet werden, damit die Konfig-Aenderungen wirksam werden (ist zumindest bei den meisten Produkten so).

      Ist eigentlich bei allen so. :-)

      Schöne Grüße,
      -besim

      1. Beim Server sollte eigentlich schon ein Mime-Type eingetragen sein. Schlimm ist nur, dass in diesem Fall auch wieder mal zwei Varianten kursieren, die Du ja genannt hast: application/x-javascript und text/javascript. Ich weiss nicht, wo die Verwirrung herkommt, anfangs hiess es immer nur text/javascript (Opa erinnert sich <g>) und irgendwann hat dann jemand (Netscape vermutlich) application/x-javascript ins Spiel gebracht. Vielleicht sollte man im Server einfach beides eintragen.

        Hm, ich kenne eigentlich nur application/x-javascript
        Netscape sagt dazu in der Doku  zu Javascript1.1 (kam mit dem Navigator 3, der erstmalig JavaScript Source in externem File zuliess):
           "External JavaScript files should have the file name suffix .js, and the server must
            map the .js suffix to the MIME type "application/x-javascript", which the server sends
            back in the HTTP header. To map the suffix to the MIME type, add the following line to
            the mime.types file in the server's config directory, and then restart the server.
                     type=application/x-javascript          exts=js
           If the server does not map the .js filename suffix to "application/x-javascript" MIME type,
           Navigator will not load the JavaScript file specified by the SRC attribute properly.
             Note
                 This requirement does not apply if you are using local files. "

        Schließlich war ich stinkesauer auf die halbe Welt und hab alle MIME-Typen für externe JavaScripts rausgenommen und siehe da... es funktionierte plötzlich.

        Eigenartig.
        Meine bisherigen Erfahrungen decken sich naemlich mit der Doku.
        Ohne MIME-Typ (Server) wird Quelltext angezeigt.
        Das ist damals auch bei meinen eigenen Seiten passiert. Nachdem auf meine Bitte hin
        MIME-Typ eingetragen war, klappte es. Ich glaube, das war damals Apache.

        Ist eigentlich bei allen so. :-)

        Nein (s.o.), alle, von denen ich weiss, dass anfangs Probleme auftraten, waren mit MIME-Typ dann gluecklich und zufrieden.

        Christine