Bert Schmidt: 404 - Fehler abfangen ?

Hallo Leute,

folgendes Problem: Ich habe ein Javascript, das einen Link aus mehreren Teilen zusammensetzt, und dann mit
   self.location.href = link;
die neue Seite in dasselbe Fenster lädt. Gibt es eine Möglichkeit

(1)
abzufragen, ob da eine 404-Meldung (not found) vom Webserver kommt, schon BEVOR die Seite im Browserfenster sichtbar angezeigt wird? Ich würde dann mit alert() eine eigene Meldung ausgeben und auf der Ausgangsseite bleiben.

oder

(2)
nach dem Laden der Seite den angezeigten Text nach "404" abzusuchen (mit einem Script, das auf der VORHERGEHENDEN Seite im selben Fenster enthalten war ???). Ich würde dann mit history:back zur Ausgangsseite zurückgehen.

Die Möglichkeit, die 404-Fehlerseite auf dem Webserver zu ändern kommt nicht in Frage, weil das laut Webserver-Doku nur global geht, d.h. für alle 404-Fehler. Bei mir müsste es von einem bestimmten Pfad abhängig sein.

Irgendwelche Tipps?

Viele Grüße
Bert

  1. Hi,

    (1)
    abzufragen, ob da eine 404-Meldung (not found) vom Webserver kommt, schon BEVOR die Seite im Browserfenster sichtbar angezeigt wird?

    nein. JavaScript hat keinen Zugriff auf das Internet.

    (2)
    nach dem Laden der Seite den angezeigten Text nach "404" abzusuchen

    Ja - allerdings muß das JavaScript in dem Moment verfügbar sein, also vermutlich in der 404-Seite stehen. Dann brauchst Du übrigens nicht mehr nach dem Text "404" zu suchen, weil Du weißt, daß er da ist.

    Die Möglichkeit, die 404-Fehlerseite auf dem Webserver zu ändern kommt nicht in Frage, weil das laut Webserver-Doku nur global geht, d.h. für alle 404-Fehler.

    Naja, so ganz stimmt das nicht. Auch per .htaccess läßt sich ein Server recht individuell konfigurieren.

    Irgendwelche Tipps?

    Ja. Stelle sicher, daß die Variable link ausschließlich verfügbare Ressourcen beinhalten kann.

    Cheatah

    1. Hi!

      (2)
      nach dem Laden der Seite den angezeigten Text nach "404" abzusuchen

      Ja - allerdings muß das JavaScript in dem Moment verfügbar sein, also vermutlich in der 404-Seite stehen. Dann brauchst Du übrigens nicht mehr nach dem Text "404" zu suchen, weil Du weißt, daß er da ist.

      Hm, an die globale 404-Seite wollte ich eigentlich nicht drangehen, eben weil sie global ist, und meine eigene Meldung nur für einen Teil des Servers (Unterverzeichnis) sein soll.

      Die Möglichkeit, die 404-Fehlerseite auf dem Webserver zu ändern kommt nicht in Frage, weil das laut Webserver-Doku nur global geht, d.h. für alle 404-Fehler.

      Naja, so ganz stimmt das nicht. Auch per .htaccess läßt sich ein Server recht individuell konfigurieren.

      Das geht beim Apache und einigen anderen Webservern. Wir haben hier einen Bea Weblogic. Da habe ich es leider bisher nicht zum Laufen bekommen.

      Ja. Stelle sicher, daß die Variable link ausschließlich verfügbare Ressourcen beinhalten kann.

      :-))

      In den Link werden Formulareingaben des Users eingebaut. Eine formale Prüfung (Stellenanzahl; Buchstabe oder Zahl an der richtigen Stelle, ...) mache ich bereits. Ich kann aber nicht alle vorhandenen Bezeichnungen im Script abprüfen. Dafür ist der Datenbastand zu groß und zu unregelmäßig aufgebaut. :-((

      Trotzdem erstmal Danke!

      Viele Grüße
      Bert