Autor |
Nachricht |
qualidat
Threadersteller
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Di 22.01.2013 21:06
Titel Mit JS prüfen, ob eine andere HTMLDatei vorhanden ist? |
|
|
Ist es möglich, mit JS zu prüfen (und per Funktion entsprechend zu reagieren), ob eine andere HTML-Datei (auf dem gleichen Server, im gleichen Verzeichnis, in der gleichen Domain) vorhanden ist, ohne dass eine 404- oder andere (Browser-) Fehlermeldung auftaucht?
Ich habe im Web zahlreiche Tricks mit Bildern gefunden, um die Erreichbarkeit von Servern zu prüfen, aber ich muss eine HTML-Datei aus dem gleichen Verzeichnis (quasi den Nachfolger in der Anzeige) testen. Die ansonsten immer aufgeführten Sicherheitsbeschränkungen dürften ja innerhalb des gleichen Verzeichnisses nicht gelten, oder?
Hintergrund ist die Entwicklung eines Digital Signage Systems, bei dem immer eine HTML-Datei nach einer im Sourcecode fesgelegten Zeit selber die nächste Seite aufruft. Falls mal eine Seite fehlt, soll das Ganze nun nicht mit einer Fehlermeldung stehenbleiben, sondern zu einer in Reserve gehaltenen "Notseite" springen. Die Logik soll möglichst auf den Clienten laufen (deshalb JS), um möglicherweise auf dem Server (Mini-PC) ohne PHP auszukommen ...
Zuletzt bearbeitet von qualidat am Di 22.01.2013 21:12, insgesamt 2-mal bearbeitet
|
|
|
|
|
DEKONSTRUKTIV
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Di 22.01.2013 21:12
Titel
|
|
|
lad dir das dokument per ajax in ne variable und tuedel dir dann auseinander, was da als resultat drinsteht.
aber: wenn die antwort "per js irgendwas aufm server" lautet, hat man die falsche frage gestellt.
|
|
|
|
|
Anzeige
|
|
|
easteregg
Dabei seit: 15.02.2003
Ort: Deutschland
Alter: 36
Geschlecht:
|
|
|
|
|
qualidat
Threadersteller
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Di 22.01.2013 21:50
Titel
|
|
|
Code: | function checkIfRemoteFileExists(fileToCheck)
{
var tmp=new Image;
tmp.src=fileToCheck;
if(tmp.complete)
alert(fileToCheck+" is available");
else
alert(fileToCheck+" is not available");
}
Now to check if file exists or not call js function like this
checkIfRemoteFileExists('http://www.yoursite.com/abc.html');
|
Das finde ich ja sehr smart - Danke! ... Mich wundert, dass das klappen soll, obwohl kein Bild, sondern irgendwelcher Text geladen wird ... in diesem Falle eine sympatische Schwäche, wohl der mangelnden Typprüfung in JS geschuldet.
|
|
|
|
|
Morgo
Dabei seit: 10.08.2005
Ort: Von Kowelenz bis Kölle
Alter: 39
Geschlecht:
|
Verfasst Di 22.01.2013 21:52
Titel
|
|
|
Du kanst ohne serverseitige Logik nicht überprüfen, ob eine Datei tatsächlich im Filesystem existiert. Allles was du über Javascript mithilfe eines XHR prüfen kannst, ist der zurückgegebene Statuscode, z.B. 404. Aber wenn ich das richtig verstehe, geht es dir nicht darum, das wird also so nicht funktionieren.
|
|
|
|
|
qualidat
Threadersteller
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Di 22.01.2013 22:16
Titel
|
|
|
Zitat: | Du kanst ohne serverseitige Logik nicht überprüfen, ob eine Datei tatsächlich im Filesystem existiert. |
Das ist ein Missverständnis. Nicht im Filesystem - da hat JS keinen Zugriff, das weiss ich. Ich will prüfen, ob eine Seite per HTTP geliefert werden kann ... (vom selben Server, aus dem selben Verzeichnis) ... und wenn nicht, die Fehlermeldung abfangen. Eine gewisse Zeitverzögerung ist dabei nicht das Problem, nur irgend eine blöde, manuell zu befriedigende Dialogbox muss verhindert werden, weil das System ohne Bedienung laufen soll.
Zuletzt bearbeitet von qualidat am Di 22.01.2013 22:19, insgesamt 2-mal bearbeitet
|
|
|
|
|
DEKONSTRUKTIV
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Di 22.01.2013 22:40
Titel
|
|
|
ich würd mich nich darauf verlassen, dasz der kram mit dem img.src funktioniert. !img.complete kann nämlich schlicht bedeuten, dasz das file aus irgendwelchen gründen noch nich komplett geladen is, muss also nicht notwendig auf nichtexistenz des files hindeuten.
|
|
|
|
|
pantonine
Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
|
Verfasst Di 22.01.2013 22:54
Titel
|
|
|
Die ganze Geschichte mit mod_rewrite wird auch ausgeklammert. Das würde bei mir nämlich z.B. eine Fehlerseite ausliefern, die, wenn sie denn Inhalt hat, eben ein Stino-HTML-Dokument ist, das einen 200er Status liefert.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Prüfen ob Benutzername vorhanden!
Prüfen von CSS-Klassen
PLZ auf 5 Ziffern prüfen????? in PHP
EAN-Codes im Acrobat prüfen
Prüfen ob Bilddatei Existiert
IE, Kobalitätsansicht Einstellung per JS prüfen
|
|