Der Alex.: JavaScript und SSI: mal geht Skript, mal nicht! Warum??

'n Abend!

Ich habe ein ganz merkwürdiges Problem mit meiner Homepage.
Um die im Browser eingestellten Sprachen einzulesen und später mit JavaScript zu verarbeiten, benutze ich folgenden JavaScript-Quelltext.
Die Sprachen werden per SSI in JS-Variablen accLangs gespeichert. Um zu gucken, ob SSIs überhaupt möglich sind, wird der Quelltext der SSI-Anweisung in JS-Variable accLangs_TEXT gespeichert, so daß ich die beiden Variablen danach vergleichen kann.
Wenn accLangs und accLangs_Text gleich sind, gehen SSIs nicht, ansonsten schon.

var accLangs = '<!--#echo var="HTTP_ACCEPT_LANGUAGE" -->'; /* <!-- */  /* SSI */
 var accLangs_TEXT = "<!" + "--" + "#echo var="HTTP_ACCEPT_LANGUAGE" " + "--" + ">"; /* <!-- */

Ich hatte mal folgende temporäre Kontrolle eingebaut:
 alert(":"+accLangs+":\n:"+accLangs_TEXT+":");
 if(accLangs == accLangs_TEXT || accLangs == "?")
  alert("offline oder keine SSIs");
 else
  alert("online mit SSIs");

Das klappt theoretisch einwandfrei!
Bloß bei meiner Homepage geht es online merkwürdigerweise nicht (Datei index.htm), die beiden Variablen sind gleich!
Jetzt kommt's: Wenn ich index.htm zu test.htm kopiere und test.htm starte, dann geht es einwandfrei!!

Ich habe keinen blassen Schimmer, wie das denn kommen kann.
Da das JavaScript-SSI-Skript funktioniert, wenn die Datei, in der es ist, test.htm heißt, kann es ja eigentlich nicht am Skript liegen.
Aber warum klappt es nicht, wenn die Datei statt test.htm index.htm heißt, vollkommen identisch ist und sich in selbem Verzeichnis befindet?

Ich bin mit meinem Latein am Ende. Weiß irgendjemand Rat?
Das wäre echt klasse.

Schönen Abend noch
 Der Alex.

  1. Hi,

    Wenn accLangs und accLangs_Text gleich sind, gehen SSIs nicht, ansonsten schon.

    das ist zwar praktisch, um es automatisiert zu überprüfen; aber sinnvoller ist es, wenn Du es einfach nur einmalig durch Ansicht des Quellcodes überprüfst.

    Jetzt kommt's: Wenn ich index.htm zu test.htm kopiere und test.htm starte, dann geht es einwandfrei!!
    Ich habe keinen blassen Schimmer, wie das denn kommen kann.

    Man kann einen Server hochgradig individuell konfigurieren. Informiere Dich bei Deinem Provider, wie es bei ihm gemacht wurde.

    Aber warum klappt es nicht, wenn die Datei statt test.htm index.htm heißt, vollkommen identisch ist und sich in selbem Verzeichnis befindet?

    Man kann es so einrichten, dass SSI nur dann geparst wird, wenn die Datei an einem Freitag dem 13. oder bei Vollmond um Mitternacht aktualisiert wurde. Oder wenn die Dateigröße in Bytes eine Primzahl ist. Warum also nicht auch, wenn der Name nicht index.htm lautet?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    normalerweise muessen Html-Dateien mit SSI die Endung .shtml tragen sonst gehts nicht. wahrscheinlich hat dein Provider speziell fuer test.htm eine Ausnahme gemacht.
    Ich bin mir sicher index.shtml wird funktionieren.

    hth

    1. Hi,

      normalerweise

      bitte definiere diesen Begriff.

      muessen Html-Dateien mit SSI die Endung .shtml tragen sonst gehts nicht.

      Dieses Verhalten beispielsweise bezeichne ich als Abnorm.

      Cheatah

      --
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Sehr produktiver Beitrag!

        Dieses Verhalten beispielsweise bezeichne ich als Abnorm.

        Natürlich kann ich meinen Server auch so konfigurieren dass er mir .otto mit SSI parst...
        In Standard-Installationen der meisten Webserver die SSI beherrschen(Apache, OmniHTTPd ...) ist .shtml voreingestellt - dehalb "normalerweise".
        Das hat auch durchaus seine Berechtigung weil das parsen von _allen_ HTML-Dateien eine ziemliche Ressourcenverschwendung ist...

        1. Hi,

          Sehr produktiver Beitrag!

          danke sehr.

          Dieses Verhalten beispielsweise bezeichne ich als Abnorm.
          Natürlich kann ich meinen Server auch so konfigurieren dass er mir .otto mit SSI parst...

          Oder .html; oder genau die .html, die auf SSI geparst werden sollen - egal wie die lokale Datei heißen mag.

          In Standard-Installationen der meisten Webserver die SSI beherrschen(Apache, OmniHTTPd ...) ist .shtml voreingestellt - dehalb "normalerweise".

          "Defaultmäßig" wäre passender, weil "normal" immer relativ ist. Wie gesagt, für mich ist es das Gegenteil davon.

          Das hat auch durchaus seine Berechtigung weil das parsen von _allen_ HTML-Dateien eine ziemliche Ressourcenverschwendung ist...

          Die _Default_einstellung mag ihre Daseinsberechtigung haben. Sie ist aber keine Entschuldigung für die Faulheit des Administrators. Wenn eine Ressource HTML-Code beinhaltet, ist es Schwachsinn, die URL anders als auf "/", ".html" oder ggf. ".htm" enden zu lassen. Siehe Archiv.

          Cheatah

          --
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
    2. Juhu.

      normalerweise muessen Html-Dateien mit SSI die Endung .shtml tragen sonst gehts nicht. wahrscheinlich hat dein Provider speziell fuer test.htm eine Ausnahme gemacht.

      Ich habe in .htaccess eingestellt, daß SSIs auch in .htm-Dateien "eingeschaltet" sind. In einer anderen .htm-Datei funktioniert es auch bestens (sie heißt übrigens i031.htm).

      Gruß
       Der Alex.

  3. Hi,

    Bloß bei meiner Homepage geht es online merkwürdigerweise nicht (Datei index.htm), die beiden Variablen sind gleich!
    Jetzt kommt's: Wenn ich index.htm zu test.htm kopiere und test.htm starte, dann geht es einwandfrei!!

    Schon mal den Cache gelöscht?

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  4. Tach.

    Na, so richtig weitergeholfen hat es nicht, trotzdem danke.

    Der Alex.