Lokale Internetseite: eigenes 404?

sheep

sheep

Aktives Mitglied
Thread Starter
Dabei seit
21.03.2005
Beiträge
1.255
Reaktionspunkte
25
Hallo zusammen

Ich habe ein etwas spezielles Problem und zwar möchte ich auf einer Internetseite, welche lokal bzw. von einer CD-ROM läuft, eine benutzerdefinierte Fehlermeldung anzeigen können, wenn eine Seite nicht gefunden werden kann.

Der Hintergrund ist der, dass ich mittels eines Javascripts (aufgrund von Benutzerangaben) URLs generiere (ebenfalls lokale, es wird nichts aus dem Internet gezogen) und die entsprechende Seite lade. Wenn diese nicht existiert, sollte nun natürlich eine sinnvolle Meldung angezeigt werden. Ich benutze den Befehl open(url), um die Seite zu laden und irgendwie habe ich das Gefühl, dass man doch überprüfen könnte, ob die entsprechende Seite vorhanden ist und wenn nicht, eine andere (die Fehlerseite) anzeigen lassen.

Hat jemand eine Idee, wie man das hinbekommen könnte?
 
Diese Website soll auf CD-ROM laufen (auf verschiedenen Rechnern), da kann ich mit einer Lösung für Apache nicht viel anfangen, oder? Auf einem Webserver wäre das kein Problem, aber hier müsste ich doch eine Client-seitige Lösung finden, wenn ich richtig liege.

Edit: Übrigens habe ich mich im Eingangsposting vertan - ich benutze nicht open(), sondern self.location, um die entsprechende Seite zu laden.

Es ginge lediglich darum, zu überprüfen, ob die entsprechende Datei existiert. Wenn ja, soll diese geladen werden, wenn nicht, eine Fehlerseite.
 
Zuletzt bearbeitet:
Sorry, stimmt. Ich habe nicht bedacht dass das ja "nur" von CD kommt, und also vermutlich ausschliesslich "einfache" HTML-Seiten sind.
Bin leider nicht besonders fit in Javascript, aber von der Idee her müsste das doch ähnlich wie eine Browserweiche funktionieren, bei der ich auf Grund bestimmter Eigenschaften des Browsers festlegen kann welche Seite jemand zu sehen bekommt. Ich stelle mir das so vor, dass die generierte URL mit den zur Verfügung stehenden Dateinamen (auf der CD) verglichen wird. Ergibt sich keine Übereinstimmung, wird die 404-Seite aufgerufen.

Grüße,
Flo
 
Ja, so ähnlich dachte ich mir das auch, nur leider habe ich (ebenfalls) zu wenig Ahnung von Javascript, um dies umzusetzen :eek:.

Danke schon mal für deine Mühe, jetzt muss ich hoffen, dass sich ein Javascript-Spezialist findet, der Erbarmen mit mir hat ;).
 
müsste das setzen des ErrorDocument nicht auch über die .htaccess gehen?
 
oneOeight schrieb:
müsste das setzen des ErrorDocument nicht auch über die .htaccess gehen?
Auf einer CD? :confused: Wie das?
 
hmmm, da hab ich glaube ich falsch gedacht, als würde der apache die html von cd auch bereit stellen. die werden ja nur lokal im browser aufgerufen...
sorry...
 
Hi,

kannst du mittels JavaScript prüfen, ob die Datei existiert? Bin mir da nicht so ganz sicher, da es ja eventuell auch eine sicherheitstechnisch heikle Sache ist, soetwas zu erlauben...

cu
 
sECuRE schrieb:
kannst du mittels JavaScript prüfen, ob die Datei existiert? Bin mir da nicht so ganz sicher, da es ja eventuell auch eine sicherheitstechnisch heikle Sache ist, soetwas zu erlauben...

Ich sehe da kein Problem. JS muss ja noch nicht einmal auf irgendwas Zugriff haben. Die Menge der zur Verfügung stehenden Dateien ist ja vgl. übersichtlich. Es wäre also noch nicht einmal nötig dass JS einen bestimmten Ordner auf das existieren einer bestimmten Datei überprüft (was ohnehin nur auf der CD stattfände), sondern es müsste ja reichen wenn man z.B. ein Array mit den Dateinamen hat. Ist der gewünschte Dateiname im Array zu finden, wird diese Datei aufgerufen, ist er nicht im Array, wird die 404-Seite aufgerufen. Deswegen auch die Idee basierend auf der Browserweichenlogik. Nur dass in diesem Fall eben nicht der Browser abgefragt wird, sondern das Array mit den Dateinamen.

Grüße,
Flo
 
Hmm ich denke, ich werde es einmal mit einem Array versuchen. Das sollte mit einem kleinen Unix-Script eigentlich zu schaffen sein (sind 1000e Dateien). Die Überprüfung auf Existenz einer Datei soll übrigens möglich sein mit einem Befehl namens ExistFile() - leider wollte das bei mir nicht recht klappen, möglicherweise wird nur Windows oder sogar nur der IE unterstützt.

Vielen Dank für eure Bemühungen, wenn jemandem etwas besseres einfällt, würde ich mich nach wie vor freuen :).
 
oneOeight schrieb:
hmmm, da hab ich glaube ich falsch gedacht, als würde der apache die html von cd auch bereit stellen. die werden ja nur lokal im browser aufgerufen...
sorry...

Ja, .htaccess ginge, wenn die Seiten lokal über den Apache angezeigt würden... da sie aber direkt eingelesen werden ist das keine Möglichkeit.

Alex
 
Javascript Error Handling

Fast gelöst :):

Ich habe es nun mit einem Error Handling versucht und mit Camino sofort Erfolge erzielt. Leider klappt das aber genau nur bei Firefox / Camino wirklich vollständig. Safari macht einfach nichts, wenn es die Seite nicht gibt und der IE zeigt weiterhin 404-Meldungen an.

Hier der Schnippsel:

HTML:
<script language="JavaScript">
[...]
function handleError() {
	document.write("Fehler");
	return true;
}

window.onerror = handleError;

 </script>

Meine Vermutung ist, dass Mozilla-Browser bei einem durch ein Script ausgelösten 404-Fehler einen Javascript-Fehler rapportieren, der IE jedoch nicht und daher die Standardfehlerseite anzeigt (was Safari tut, ist mir völlig unklar).

Hat jemand eine Ahnung, warum das nicht im IE funktioniert und wie man allenfalls Abhilfe schaffen kann (Safari wäre natürlich nett, aber den schreibe ich sonst halt ab)?
 
Zurück
Oben Unten