2010-12-08 12 views
0

Ich mache ein "Jeopardy" Board in HTML/JavaScript/XML. Ich möchte, dass diese App auf einem lokalen Computer ausgeführt werden kann, ohne Apache oder IIS installiert zu haben. Ich dachte, wir würden für jede Runde eine andere XML-Datei verwenden. Also dachte ich, dass ich einen Weg finden müsste, um festzulegen, welche Datei verwendet werden soll. Am benutzerfreundlichsten wäre es, die bereits vorhandenen XML-Dateien im Verzeichnis aufzulisten und diese in einem HTML-Auswahlfeld aufzulisten und vom Benutzer auswählen zu lassen.Listet den Inhalt eines Verzeichnisses über HTML/JavaScript auf einem lokalen Rechner auf

Allerdings bin ich ratlos, wie Sie die Liste der Dateinamen in einem bestimmten Verzeichnis erhalten. Ich könnte es einfach mit PHP machen, aber wie ich schon sagte, ich möchte, dass es ohne Apache oder IIS funktioniert, und IE einfach nur mit ihren nicht standardkonformen BS saugt, also würde ich wirklich nicht gezwungen sein, es zu benutzen sein FileObjectSystem ActiveX-Steuerelement.

Wer weiß eine andere Möglichkeit, den Inhalt des Ordners in ein JavaScript-Array zu bekommen?

+0

@Tshepang: Für zukünftige Referenz ist es wahrscheinlich nicht wert, eine 4 Jahre alte Frage wieder aufleben zu lassen, um die Signatur am Ende zu entfernen. Einverstanden, es sollte nicht da sein, aber ich denke, die Bearbeitung ist ein bisschen zu gering. – Travesty3

+0

Ich war auch brünieren [Tag: Inhalt] – Tshepang

Antwort

0

Es ist keine Select-Box, aber der einfachste Weg sollte die Verwendung einer Dateieingabe sein. Es ermöglicht dem Benutzer, eine Datei auf dem lokalen Computer auszuwählen, und Ihre Anwendung kann den Pfad der Datei abrufen, die ausgewählt wurde.

Angenommen, Windows: FileSystemObject funktioniert auch ohne IE. Wenn Sie ein jscript/vbscript zum Starten Ihrer Anwendung verwenden, können Sie zuerst eine JavaScript-Datei erstellen, die ein Array mit den verfügbaren xml-Dateien enthält, und die Anwendung ausführen (Dokument) mit dem Standard-Browser.

+0

Gut, ich hatte nicht über eine "Datei" Eingabe nachgedacht. Vielen Dank! – Travesty3

1

Das einzige, was ich mir vorstellen kann, wäre die Verwendung Adobe AIR oder Titanium Desktop für Desktop-Datei-E/A mit JavaScript ohne Server-Back-End.

+0

Ich habe keine Erfahrung mit denen, aber das wäre wahrscheinlich der bessere Weg zu gehen. Vielleicht werde ich immer noch in sie schauen. Vielen Dank! – Travesty3

0

Ich weiß nicht, was Jeopardy ist. Wie auch immer meine 2 Cent

Wenn der XML-Inhalt der Dateien ist, was Sie wirklich interessiert, können Sie Javascript-Variablen definieren, um XML zu speichern und dann die XMLHttpRequest oder ActiveXObject ("Microsoft.XMLHTTP") je nach dem Browser zu analysieren und verarbeite das XML.

+0

Es ist keine Schande ^^ http://www.youtube.com/watch?v=vXGhvoekY44 –

+0

Es ist eine Quiz-Spielshow. Der Gastgeber stellt Fragen, die Mitbewerber drängen und antworten. Wir würden diese Anwendung für viele Runden wiederverwenden, daher wäre es keine gute Idee, die Fragen und Antworten in den Code zu codieren. Nicht zu vergessen, ich bin einer der Kandidaten, also muss unser "Host", der nichts über Programmierung weiß, die Fragen schreiben, also müssen sie woanders als im App-Code gespeichert werden. – Travesty3

0

Sie könnten in die Ausgabe des Verzeichniseintrags schauen. Ich glaube, das variiert jedoch je nach Browser und wäre sehr schwierig.

Wenn Sie jedoch eine URL für ein Verzeichnis anfordern, das keine Zielseite hat, erhalten Sie zumindest lokal eine Liste mit Dateien in diesem Verzeichnis. Wenn dies funktioniert, muss die Seite analysiert werden, um die Dateinamen zu finden.

+0

Ich habe auch darüber nachgedacht, aber ich habe festgestellt, dass die meisten dieser Verzeichnisse von Apache oder IIS generiert werden, also würde es nicht funktionieren, wenn ich versuche, die Verzeichnisliste auf einem lokalen Rechner zu finden.Wenn ich es in IE versuchte, öffnete es nur den Ordner im Windows Explorer, und als ich es in FF versuchte, zeigte es eine analysierbare Zeichenfolge mit dem Verzeichnisinhalt, aber der Versuch, diese Zeichenfolge über Ajax zu erhalten, führte zu einem JavaScript-Fehler. Trotzdem danke! – Travesty3

Verwandte Themen