Cyx23: view-source: und mime type Probleme bei N6 oder Opera

Hallo,

ich möchte eine *.js Datei im Browser anschauen.

Per view-source:*.js geht das z.B. mit Ns4 und IE5 .

N6 mag nicht und verweist auf den Mime-typ.

Opera kommt wohl gar nicht damit klar.

Umgekehrt kann ich aber wohl bei keinem einzigen Browser mit Angabe eines
mime-type im Html eine *.js anzeigen lassen.
Wäre ja sonst auch möglich mittels <object usw..

Welche Möglichkeiten gibt es für N6 und Opera5 doch noch *.js anzuzeigen ?

..und was soll eigentlich der mime-type ausser serverseitig in
einer .htaccess , offenbar ist die Angabe des mime-type zumindest
für aktuelle Browser überflüssig oder nicht "mächtig" ?

Grüsse

Cyx23

  1. Hi,

    Welche Möglichkeiten gibt es für N6 und Opera5 doch noch *.js anzuzeigen ?

    lasse die Ressource als text/plain liefern. Das kannst Du entweder serverseitig konfigurieren; oder aber Du schreibst Dir ein (z.B. Perl-)Script, welches die Ressource anfordert und den Inhalt schlicht als text/plain zurückschickt.

    ..und was soll eigentlich der mime-type ausser serverseitig in
    einer .htaccess , offenbar ist die Angabe des mime-type zumindest
    für aktuelle Browser überflüssig oder nicht "mächtig" ?

    Der Content-Type ist in HTTP _die_ Information vom Server an den Client schlechthin. Er sagt, um welche Art Daten es sich handelt; und _nur_ mit dieser Information entscheidet der Client (anhand seiner Konfiguration), wie er mit den Daten umgeht.

    Cheatah

    1. Hallo,

      Welche Möglichkeiten gibt es für N6 und Opera5 doch noch *.js anzuzeigen ?
      lasse die Ressource als text/plain liefern. Das kannst Du entweder serverseitig konfigurieren; oder aber Du schreibst Dir ein (z.B. Perl-)Script, welches die Ressource anfordert und den Inhalt schlicht als text/plain zurückschickt.

      ich suche eine Lösung beim Client.
      (Das Perlscript wäre sonst ein Kompromiss)

      ..und was soll eigentlich der mime-type ausser serverseitig in
      einer .htaccess , offenbar ist die Angabe des mime-type zumindest
      für aktuelle Browser überflüssig oder nicht "mächtig" ?
      Der Content-Type ist in HTTP _die_ Information vom Server an den Client schlechthin. Er sagt, um welche Art Daten es sich handelt; und _nur_ mit dieser Information entscheidet der Client (anhand seiner Konfiguration), wie er mit den Daten umgeht.

      Das stimmt in der Praxis offenbar überhaupt nicht.

      Auf Html-seite sind die Dateiendungen mächtiger.

      Bei Images ist es dann noch so dass die Browser den Dateianfang von
      Bilddateien auslesen und dies ebenfalls hoch bewertet wird
      (ausser evtl. bei Opera).

      Grüsse

      Cyx23

      1. Hi,

        ich suche eine Lösung beim Client.

        sorry, dazu kenne ich die Clients zu wenig. Ich würde vor allem erst mal warten, bis Netscape 6 aus dem beta-Stadium erwächst.

        Der Content-Type ist in HTTP _die_ Information vom Server an den Client schlechthin. Er sagt, um welche Art Daten es sich handelt; und _nur_ mit dieser Information entscheidet der Client (anhand seiner Konfiguration), wie er mit den Daten umgeht.

        Das stimmt in der Praxis offenbar überhaupt nicht.

        Nur beim IE nicht; bei HTTP-Clients jedoch schon.

        Auf Html-seite sind die Dateiendungen mächtiger.

        Was ist die "HTML-Seite"? Wenn HTML im Spiel ist, wurde bereits text/html übermittelt.

        Btw: Was ist eine "Dateiendung"? Sowas kennt HTTP nicht.

        Bei Images ist es dann noch so dass die Browser den Dateianfang von
        Bilddateien auslesen und dies ebenfalls hoch bewertet wird

        Netscape 4 übergibt in der Tat image/* der selben Grafik-Engine, welche unabhängig vom Content-Type die Grafik analysiert - AFAIK aber auch unabhängig von der "Dateiendung". Der IE macht eh was er will.

        (ausser evtl. bei Opera).

        Wie es Netscape 6 macht weiß ich nicht; aber ich schätze, daß bis auf den IE ausnahmslos alle Browser dem Content-Type weit mehr Bedeutung zumessen als irgendwas anderem - denn genau dazu ist er da.

        Cheatah

        1. Hi nochmal,

          Das stimmt in der Praxis offenbar überhaupt nicht.
          Nur beim IE nicht; bei HTTP-Clients jedoch schon.
          Auf Html-seite sind die Dateiendungen mächtiger.
          Was ist die "HTML-Seite"? Wenn HTML im Spiel ist, wurde bereits text/html übermittelt.

          war vielleicht unsauber formuliert.
          Wenn ich mit <object oder <embed aus einer html-datei eine andere Datei als
          mime-typ text/plain oder so einbinden möchte richten sich offenbar alle Browser
          nach der Dateiendung, die Angabe des typ nützt nichts.
          Eine *.js kann ich, falls ich nicht irgendwo einen Fehler gemacht habe,
          nicht als Text oder html einbinden trotz entspr. typ-Angabe.
          Im weiteren folgt daraus daß dies Angabe eines mime-typ offenbar meist überflüssig ist.

          Netscape 4 übergibt in der Tat image/* der selben Grafik-Engine, welche unabhängig vom Content-Type die Grafik analysiert - AFAIK aber auch unabhängig von der "Dateiendung". Der IE macht eh was er will.

          (ausser evtl. bei Opera).

          Opera akzeptiert eine unbekannte Endung als Image "online" nicht (habe aber nicht nochmal die neuesten 5er getestet),
          auch hier helfen Angaben zum Mimetyp auf der "html"-Seite gar nichts, man muss für Opera die Server-.htaccess um einen
          Eintrag der Image-endung ergänzen.
          Offenbar richtet sich Opera noch mehr als andere Browser nach der Dateiendung, die Angabe des typ nützt auch hier (html/clientseitig) nichts.

          Wie es Netscape 6 macht weiß ich nicht; aber ich schätze, daß bis auf den IE ausnahmslos alle Browser dem Content-Type weit mehr Bedeutung zumessen als irgendwas anderem - denn genau dazu ist er da.

          offenbar entscheiden die Browser den Type anhand des Suffix, was ja naheliegend ist aber
          type-Angaben aus embed usw. "überschreibt" und damit nicht nur die Möglichkeiten verringert
          sondern auch zeigt dass bestimmte Angaben Platzverschwendung sind.

          Und die Probleme mit view-source haben m.E. den gleichen Grund, dass der
          Browser anhand des Suffix entscheidet die Datei nicht anzuzeigen
          (oder er versucht die Datei normal in eine leere Seite einzubinden).

          Grüsse

          Cyx23

          1. Hallo,

            Opera akzeptiert eine unbekannte Endung als Image "online" nicht (habe aber nicht nochmal die neuesten 5er getestet),
            auch hier helfen Angaben zum Mimetyp auf der "html"-Seite gar nichts, man muss für Opera die Server-.htaccess um einen
            Eintrag der Image-endung ergänzen.
            Offenbar richtet sich Opera noch mehr als andere Browser nach der Dateiendung, die Angabe des typ nützt auch hier (html/clientseitig) nichts.

            Bei Opera5 kann der User einstellen ob sich der Browser nach dem Mime-Typ oder der Dateiendung richtet. Hier ein kleiner Auszug aus der Hilfe von Opera:

            "Als erstes sehen Sie im Menü "Dateitypen" das Feld "Dateitypen-Behandlung". Hier ist Opera standardmäßig auf "Dem Server vertrauen, dass er die Dateitypen immer korrekt widergibt" gesetzt, was bedeutet, dass Opera den Inhaltstyp im HTTP-Kopf einer empfangenen Datei überprüft und fortfährt, den Dateityp so zu behandeln, wie es zur Behandlung dieser Art von Dateitypen vorgesehen ist.
            Wenn Sie die Markierung des Kontrollkästchens entfernen und der Server schickt eine Datei, für die im Inhaltstyp des HTTP-Kopfes entweder "application/octet-stream" oder "text/plain" angegeben ist, wird Opera zur Überprüfung, ob das Verhalten korrekt ist, die Dateinamenerweiterung und/oder den aktuellen Inhalt der Datei durch Lesen einiger der ersten Bytes der Datei überprüfen und dann versuchen, mit der Datei in der Weise zu verfahren, wie der Browser zur Antwort auf diesen Dateityp eingerichtet ist."

            Grüße aus Würzburg,
            Laszlo

            1. Hallo,

              "Als erstes sehen Sie im Menü "Dateitypen" das Feld "Dateitypen-Behandlung". Hier ist Opera standardmäßig auf "Dem Server vertrauen, dass er die Dateitypen immer korrekt widergibt" gesetzt, was bedeutet, dass Opera den Inhaltstyp im HTTP-Kopf einer empfangenen Datei überprüft und fortfährt, den Dateityp so zu behandeln, wie es zur Behandlung dieser Art von Dateitypen vorgesehen ist.

              bei mir war's offenbar anders vorbelegt, ich muss nochmal die
              Auswirkungen der Einstellung (bislang kein Unterschied) überprüfen,
              könnte ja nützlich sein. Interessant auch in welcher Reihenfolge der
              Browser vorgeht.
              Eine Anwendung des Features für den Seitenaufbau geht leider nicht da ich
              ja nicht weiss wie es beim Besucher gerade eingestellt ist.

              Grüsse

              Cyx23

          2. Hi,

            Wenn ich mit <object oder <embed aus einer html-datei eine andere Datei als
            mime-typ text/plain oder so einbinden möchte richten sich offenbar alle Browser
            nach der Dateiendung, die Angabe des typ nützt nichts.

            die Angabe des Typs _wo_? Wenn als <object type> (btw: <embed> ist kein HTML), kann ich mir sehr gut vorstellen, daß es nicht interpretiert wird. Wenn im HTTP-Header, würde mich eine Mißachtung zumindest in Netscape doch sehr wundern - obwohl, wie gut ist <object> in Netscape 4 implementiert?

            Eine *.js kann ich, falls ich nicht irgendwo einen Fehler gemacht habe,
            nicht als Text oder html einbinden trotz entspr. typ-Angabe.

            Den Satz verstehe ich nicht.

            Im weiteren folgt daraus daß dies Angabe eines mime-typ offenbar meist überflüssig ist.

            Das halte ich für eine Fehlinterpretation.

            Und die Probleme mit view-source haben m.E. den gleichen Grund, dass der
            Browser anhand des Suffix entscheidet die Datei nicht anzuzeigen

            Ich halte das hingegen für schlichtweg mangelhafte Implementierung, die bei Netscape 6 auf das Beta-Stadium und bei Opera vermutlich auf extrem schlechte JavaScript-Kompatibilität zurückzuführen ist.

            Cheatah

            1. Hallo,

              die Angabe des Typs _wo_? Wenn als <object type> (btw: <embed> ist kein HTML), kann ich mir sehr gut vorstellen, daß es nicht interpretiert wird.

              also kein bug, it's a feature ? Sicherheit oder so ?
              (und worauf willst Du bei <embed> hinaus, w3c oder was ?)

              Eine *.js kann ich, falls ich nicht irgendwo einen Fehler gemacht habe,
              nicht als Text oder html einbinden trotz entspr. typ-Angabe.
              Den Satz verstehe ich nicht.

              ich hatte, wie <object type=.., nach Möglichkeiten gesucht eine Scriptdatei
              einfach als offen lesbaren Quelltext einzubinden oder anzuzeigen.
              Wobei ich die Möglichkeit per view-source schon recht praktikabel finde.
              Dass ich mit type= recht wenig, vielleicht gar nichts, bewirken kann
              ( ganz egal ob das nun so besser ist oder nicht ) zeigt wie wenig Einfluss
              diese Angabe hat im Vergleich zu Anweisungen von Server, Browser, oder
              Betriebssystem des Browsers. Also nur ein w3c-gimmik für spätere Browser ?

              Ich halte das hingegen für schlichtweg mangelhafte Implementierung, die bei Netscape 6 auf das Beta-Stadium und bei Opera vermutlich auf extrem schlechte JavaScript-Kompatibilität zurückzuführen ist.

              stimmt vermutlich, der M.91(2?) bietet mir immerhin eine Abfrage an was mit
              der Datei geschehen soll.

              Grüsse

              Cyx23

              1. Hi,

                die Angabe des Typs _wo_? Wenn als <object type> (btw: <embed> ist kein HTML), kann ich mir sehr gut vorstellen, daß es nicht interpretiert wird.

                also kein bug, it's a feature ? Sicherheit oder so ?

                als Bug möchte ich es nicht bezeichnen, als Feature aber noch weniger. Laut W3C _kann_ die Angabe interpretiert werden, um das Laden falscher Daten zu vermeiden.

                (und worauf willst Du bei <embed> hinaus, w3c oder was ?)

                Exakt jenes.

                ich hatte, wie <object type=.., nach Möglichkeiten gesucht eine Scriptdatei
                einfach als offen lesbaren Quelltext einzubinden oder anzuzeigen.

                Naja, lasse den Server das ganze als text/plain ausliefern, oder binde es mittels SSI o.ä. ein.

                Dass ich mit type= recht wenig, vielleicht gar nichts, bewirken kann
                ( ganz egal ob das nun so besser ist oder nicht ) zeigt wie wenig Einfluss
                diese Angabe hat im Vergleich zu Anweisungen von Server, Browser, oder
                Betriebssystem des Browsers.

                Ähm, relevant ist _nur_ das, was der Server sagt. Clientseitige Angaben dienen allenfalls zum Vergleich.

                Also nur ein w3c-gimmik für spätere Browser ?

                Der Content-Type ist HTTP, HTTP ist RFC, RFC ist nicht W3C, sondern IETF.

                Cheatah

                1. Hallo,

                  das ist doch genau der Punkt:

                  " Laut W3C _kann_ die Angabe interpretiert werden".
                  "Clientseitige Angaben dienen allenfalls zum Vergleich."

                  Dann ist auch klar dass mein <object .. so nicht geht.

                  Soweit besten Dank,

                  Cyx23