Eric Teubert: IE7 - lokale Einbindung des JavaScripts

Hallo,

Mein "Problem" sieht folgendermaßen aus: ( das [..] steht nicht wirklich im Code, da hab ich nur den unrelevanten Teil rausgekürzt)

<script language="JavaScript" type="text/javascript" src="file://E:/[..]calc.js"></script>

In Firefox kein Problem aber der IE sagt, in der Zeile sei ein ungültiges Zeichen. Nach ein wenig try&cry fand ich heraus, dass er nicht mehr meckert, wenn ich  "file://E:/" z.b. in ".." änder - ich möchte / muss aber absolute Pfade verwenden, weil ich mit einer Template-Engine arbeite und deren Bestandteile auf unterschiedlichen Laufwerken ausgelagert sind.
Nun brauch ich "file://E:/" natürlich nur während der Entwicklungsphase aber es wäre schön, wenn ich die JavaScript-Files nicht immer hochladen müsste ...

Grüße

Eric Teubert

  1. Hi!

    <script language="JavaScript" type="text/javascript" src="file://E:/[..]calc.js"></script>

    Das Language-Attribut ist deprecated. Du solltest nur das Type-Attribut einsetzen.

    Das Pseudoprotokoll heißt übrigens file:/// und nicht file://.
    Eventuell liegt es daran.

    Schöner Gruß,
    rob

    1. Das Language-Attribut ist deprecated. Du solltest nur das Type-Attribut einsetzen.

      Das Pseudoprotokoll heißt übrigens file:/// und nicht file://.
      Eventuell liegt es daran.

      Hallo rob,

      jetzt sieht es so aus:

      <script type="text/javascript" src="file:///E:/[..]calc.js"></script>

      aber der Fehler ist derselbe, danke trotzdem für den Hinweis zum Language-Attribut.

      1. Hi!

        aber der Fehler ist derselbe

        Tja, dann weiß ich es auch nicht...
        Eventuell eine Sicherheitsache.
        Die Nutzung von file:/// im Browser ist ohnehin recht witzlos...

        Ich würde damit überhaupt nicht arbeiten.
        Und auch, wenn du absolute Pfade angeben mußt, kannst du dies doch tun, ohne file:/// einsetzen zu müssen.

        Das hier ist doch auch ein absoluter Pfad:
        <script type="text/javascript" src="/irgendwas/calc.js"></script>

        Wobei / nicht das root-Verzeichnis deiner Festplatte C:\ darstellt, sondern dein Document-Root-Verzeichnis, also das Hauptverzeichnis deines Webservers, in dem sich die Webseiten befinden.

        Schöner Gruß,
        rob

        1. Das hier ist doch auch ein absoluter Pfad:
          <script type="text/javascript" src="/irgendwas/calc.js"></script>

          Schon, nur sollten einige Dateien aus Sicherheitsgründen außerhalb des Webservers liegen. Aber du hast natürlich recht, an sich würde es reichen, wenn die Daten dann "online" sicher liegen, während der Entwicklung kann ich sie bedenkenlos in den Webserver-Bereich packen.

          Nagut, wenn keine weiteren Ideen kommen, werde ich es wohl so lösen.

          Danke

          Eric Teubert

          1. Hallo,

            Das hier ist doch auch ein absoluter Pfad:
            <script type="text/javascript" src="/irgendwas/calc.js"></script>

            Schon, nur sollten einige Dateien aus Sicherheitsgründen außerhalb des Webservers liegen.

            Das kann für serverseitige Scripte durchaus von Relevanz sein[1]; JavaScript ist aber eine clientseitige Programmiersprache, weshalb die Scripts IMMER zum Browser übertragen werden müssen.

            Aber du hast natürlich recht, an sich würde es reichen, wenn die Daten dann "online" sicher liegen

            Wie gesagt: Was der Browser nicht lesen kann, kann er nicht ausführen. Was der Browser ausführen kann, kann der User auch lesen…

            [1] So kann man z.B. verhindern, dass durch einen PHP-Ausfall o.Ä. irgendwelche Zugangsdaten, die man in eine Datei gespeichert hat, über HTTP abrufbar sind.

            mfg. Daniel

            1. Das kann für serverseitige Scripte durchaus von Relevanz sein[1]; JavaScript ist aber eine clientseitige Programmiersprache, weshalb die Scripts IMMER zum Browser übertragen werden müssen.

              Ah ja logisch *pling*
              die JS-Dateien liegen ja sogar auf meinem offline-Webserver, das war mir nur gerade nicht bewusst. Sowas blödes ...

              Danke für die Erleuchtung, dann lässt es sich natürlich per /xx/xx/.. lösen.

              Grüße

              Eric Teubert