#Javascript: Datei lesen und auf HP darstellen

Hallo Javascript Expertinnen und -en,

ich möchte gerne eine txt-Datei (ASCII) im Hauptverzeichnis meiner Domain mit einem Javascript auf der Titel-Seite auslesen und den Inhalt mit Document.write() ausgeben, ist das generell möglich? Wenn ja, hat jemand einen Beispiel-Code?
Es geht mir darum, Informationen als Text-Datei (z. B. Firmware Links) abzulegen und per FTP-Upload zu aktualisieren, damit ich nicht immer im HTML-Code der Homepage rumbasteln muß.

Mille Grazie.

P.S. Das ganze sollte natürlich Microsoft- und Netscape-kompatibel sein! (*grins)

Homepage: http://www.mission-dvd.de

ich möchte gerne eine txt-Datei (ASCII) im Hauptverzeichnis
meiner Domain mit einem Javascript auf der Titel-Seite
auslesen und den Inhalt mit Document.write() ausgeben, ist das
generell möglich?

Keine Ahnung, aber ich denke mal eher.

Es geht mir darum, Informationen als Text-Datei (z. B.
Firmware Links) abzulegen und per FTP-Upload zu aktualisieren,
damit ich nicht immer im HTML-Code der Homepage rumbasteln
muß.

Am einfachsten geht’s wahrscheinlich über eine ausgelagerte JS-Datei, die den Text und die write-Kommandos enthält.

eljot

Hi,

ich möchte gerne eine txt-Datei (ASCII) im Hauptverzeichnis
meiner Domain mit einem Javascript auf der Titel-Seite
auslesen

geht nicht. JavaScript, zumindest das was Du meinst, läuft clientseitig ab und hat keine Chance, selbständig eine Internet-Verbindung zu einem Server aufzubauen.

und den Inhalt mit Document.write() ausgeben,

Dann mußt Du entweder ein Document-Objekt generieren, welches eine write()-Methode besitzt, die Deinen Wünschen entspricht; oder aber statt dessen einfach document.write() verwenden :wink:

ist das generell möglich?

Wenn die Textdatei JavaScript-Code enthält, kann ein JavaScript1.1-fähiger Browser diesen laden und interpretieren:

Besser machst Du das aber einfach über SSI:

Der Server erledigt dann, wenn er entsprechend konfiguriert ist, den Rest.

P.S. Das ganze sollte natürlich Microsoft- und
Netscape-kompatibel sein! (*grins)

Und was ist mit den anderen?

Cheatah

Hi,
geht nicht. JavaScript, zumindest das was Du meinst, läuft
clientseitig ab und hat keine Chance, selbständig eine
Internet-Verbindung zu einem Server aufzubauen.

Aha, also ist es mir über Javascript praktisch nicht möglich als Textdateien ausgelagerte Homepageinhalte zu laden, wenn ich das ganze richtig verstanden habe.

Dann mußt Du entweder ein Document-Objekt generieren, welches
eine write()-Methode besitzt, die Deinen Wünschen entspricht;
oder aber statt dessen einfach document.write() verwenden :wink:

Ja, gut, das meinte ich ja, in eine String Variable einlesen und dann mit Document.write() im HTML-Code ausgeben.

Wenn die Textdatei JavaScript-Code enthält, kann ein
JavaScript1.1-fähiger Browser diesen laden und interpretieren:

Aber damit kann ich ja nicht arbeiten, oder, das bindet ja nur ein ausgelagertes Java-Prog ein. Ich möchte den Text in ASCII Form lesen und dann eben wieder ausgeben.

Besser machst Du das aber einfach über SSI:

Der Server erledigt dann, wenn er entsprechend konfiguriert
ist, den Rest.

Was passiert da genau? Kann ich diesen Text ("/datei.txt") damit in z. B. einer Tabelle ausgeben? Wenn ja, dann hat mir das sehr weitergeholfen.

P.S. Das ganze sollte natürlich Microsoft- und
Netscape-kompatibel sein! (*grins)

Und was ist mit den anderen?

Die anderen machen laut meinen Server-Logbüchern gerade mal 7 Prozent aus. Ich versuche schon einigermaßen kompatibel zu bleiben, nach meinem leider noch sehr begrenzten Wissensstand.

Cheatah

Gruß, Manuel

Hi,

Aha, also ist es mir über Javascript praktisch nicht möglich
als Textdateien ausgelagerte Homepageinhalte zu laden, wenn
ich das ganze richtig verstanden habe.

exakt.

Dann mußt Du entweder ein Document-Objekt generieren, welches
eine write()-Methode besitzt, die Deinen Wünschen entspricht;
oder aber statt dessen einfach document.write() verwenden :wink:

Ja, gut, das meinte ich ja, in eine String Variable einlesen
und dann mit Document.write() im HTML-Code ausgeben.

*seufz* Nein. Es gibt kein Document.write(), solange Du es nicht selbst erzeugst. Es gibt nur document.write(). Der Unterschied ist in etwa genauso groß wie der zwischen document.write() und focument.write(): Es sind zwei völlig verschiedene Dinge.

Aber damit kann ich ja nicht arbeiten, oder, das bindet ja nur
ein ausgelagertes Java-Prog ein.

Nein, mit Java hat das alles nichts zu tun. Aber es bindet die Datei nur einmalig ein, das stimmt.

Ich möchte den Text in ASCII
Form lesen und dann eben wieder ausgeben.

Zu einem beliebigen Zeitpunkt? Geht nicht, zumindest nicht auf mehr als einer Handvoll Clients (mit kaum zu vertretendem Aufwand IMHO).

Was passiert da genau?

Der Server ersetzt dieses Kommando durch den Inhalt der entsprechenden Datei. Natürlich kannst Du auch ein (quasi-)CGI-Script schreiben und dort aufrufen, welches die Datei ausliest und in einer für Dich optimalen Art ausgibt.

P.S. Das ganze sollte natürlich Microsoft- und
Netscape-kompatibel sein! (*grins)

Und was ist mit den anderen?

Die anderen machen laut meinen Server-Logbüchern gerade mal 7
Prozent aus.

Ist Dir bewußt, daß Deine Logfiles nur sagen, als was sich die Clients identifiziert haben, nicht aber, um was für Clients es sich handelt? Viele Nutzer sehr mächtiger Werkzeuge (wie z.B. Lynx) identifizieren sich als beispielsweise Netscape, weil sie sonst von vielen (schlecht gemachten) Seiten ausgeschlossen werden, die sie hervorragend mit ihrem Programm betrachten können.

Cheatah

1 „Gefällt mir“

*seufz* Nein. Es gibt kein Document.write(), solange Du es
nicht selbst erzeugst. Es gibt nur document.write(). Der
Unterschied ist in etwa genauso groß wie der zwischen
document.write() und focument.write(): Es sind zwei völlig
verschiedene Dinge.

Gut, stimmt. Auf die richtige Syntax hab ich nicht geachtet. Ich sitz halt grad quasi einen PC neben mir.

Nein, mit Java hat das alles nichts zu tun. Aber es bindet die
Datei nur einmalig ein, das stimmt.

Bsp:

Würde das funktionieren?
Oder wäre folgender Source besser?

Zu einem beliebigen Zeitpunkt? Geht nicht, zumindest nicht auf
mehr als einer Handvoll Clients (mit kaum zu vertretendem
Aufwand IMHO).

Nö, nur einmal beim laden der Site.

Was passiert da genau?

Der Server ersetzt dieses Kommando durch den Inhalt der
entsprechenden Datei. Natürlich kannst Du auch ein
(quasi-)CGI-Script schreiben und dort aufrufen, welches die
Datei ausliest und in einer für Dich optimalen Art ausgibt.

Ist Dir bewußt, daß Deine Logfiles nur sagen, als was sich die
Clients identifiziert haben, nicht aber, um was für Clients es
sich handelt? Viele Nutzer sehr mächtiger Werkzeuge (wie z.B.
Lynx) identifizieren sich als beispielsweise Netscape, weil
sie sonst von vielen (schlecht gemachten) Seiten
ausgeschlossen werden, die sie hervorragend mit ihrem Programm
betrachten können.

Nein, war mir nicht bewußt, dürfte aber an und für sich kein Problem sein, da ich keinen Browser ausschließe, sondern nur versuche meine Homepage auf versch. Browsern gleich aussehen zu lassen.

Und da Lynx so ein mächtiges Werkzeug ist, wird es HTML wahrscheinlich ähnlich interpretieren wie Netscape oder Microsoft (von wegen Standart) und es dürfte auch hier keine Anzeigeprobleme geben. Theoretisch. :wink:

Gruß Manuel

Cheatah

Hi,

Ich sitz halt grad quasi einen PC neben mir.

-)

Würde das funktionieren?

Im Prinzip ja. Einige ältere Browser haben damit evtl. Probleme (bei Netscape 3 sollte man sich kein -Konstrukt ansehen… und was der IE 3 behauptet zu können, obwohl er davor steht wie ein Ochs vorm Berg, geht eh auf keine Kuhhaut).

Oder wäre folgender Source besser?

Würde ich bevorzugen. Das ist insbesondere clientunabhängig, funktioniert also mit _jedem_ Browser (der Tabellen beherrscht, versteht sich).

Zu einem beliebigen Zeitpunkt? Geht nicht, zumindest nicht auf
mehr als einer Handvoll Clients (mit kaum zu vertretendem
Aufwand IMHO).

Nö, nur einmal beim laden der Site.

Idealer Einsatz für SSI (zweite Variante).

Ist Dir bewußt, daß Deine Logfiles nur sagen, als was sich die
Clients identifiziert haben, […]

Nein, war mir nicht bewußt, dürfte aber an und für sich kein
Problem sein, da ich keinen Browser ausschließe, sondern nur
versuche meine Homepage auf versch. Browsern gleich aussehen
zu lassen.

Das wird mit JavaScript nicht wirklich gehen…

Und da Lynx so ein mächtiges Werkzeug ist, wird es HTML
wahrscheinlich ähnlich interpretieren wie Netscape oder
Microsoft (von wegen Standart)

Lynx interpretiert HTML eher so, wie es das W3C vorsieht, denn das ist der Standard; also ziemlich anders als Netscape und MSIE. Vor allem ist Lynx textbasiert und beherrscht kein JavaScript.

und es dürfte auch hier keine
Anzeigeprobleme geben. Theoretisch. :wink:

Theoretisch, genau :smile:

Lynx kann man übrigens von http://lynx.browser.org/ runterladen, auch für Windows 32.

Cheatah

1 „Gefällt mir“

Nö, nur einmal beim laden der Site.

Idealer Einsatz für SSI (zweite Variante).

Dann werd ich das mal so ausprobieren. Vielen Dank für die Infos, ich find es immer wieder toll wenn Leute mich an ihrem Wissen teilhaben lassen. :smile:

Ist Dir bewußt, daß Deine Logfiles nur sagen, als was sich die
Clients identifiziert haben, […]

Nein, war mir nicht bewußt, dürfte aber an und für sich kein
Problem sein, da ich keinen Browser ausschließe, sondern nur
versuche meine Homepage auf versch. Browsern gleich aussehen
zu lassen.

Das wird mit JavaScript nicht wirklich gehen…

Ich hab ein JavaScript-Menu (Image-wechsel), meinst Du ich soll das lassen? Ich denke mir aber, daß die Links auch bei deaktiviertem, bzw. nicht vorhandenem Javascript funktionieren.

Lynx interpretiert HTML eher so, wie es das W3C vorsieht, denn
das ist der Standard; also ziemlich anders als Netscape
und MSIE. Vor allem ist Lynx textbasiert und beherrscht kein
JavaScript.

Sorry, das mit dem Standard war *ironisch gemeint, ich weiß das das W3C die Standards festlegt.

und es dürfte auch hier keine
Anzeigeprobleme geben. Theoretisch. :wink:

Theoretisch, genau :smile:

Lynx kann man übrigens von http://lynx.browser.org/
runterladen, auch für Windows 32.

Cheatah

Also: Danke nochmal.

Manuel

Hi,

Nein, war mir nicht bewußt, dürfte aber an und für sich kein
Problem sein, da ich keinen Browser ausschließe, sondern nur
versuche meine Homepage auf versch. Browsern gleich aussehen
zu lassen.

Das wird mit JavaScript nicht wirklich gehen…

Ich hab ein JavaScript-Menu (Image-wechsel), meinst Du ich
soll das lassen?

JavaScript als Erweiterung ist vollkommen in Ordnung, solange die Funktionalität der Seite nicht eingeschränkt wird (und natürlich kein Quatsch damit gemacht wird, wie z.B. Statuszeile verändern oder so :wink: ).

Lynx interpretiert HTML eher so, wie es das W3C vorsieht, denn
das ist der Standard; also ziemlich anders als Netscape
und MSIE. Vor allem ist Lynx textbasiert und beherrscht kein
JavaScript.

Sorry, das mit dem Standard war *ironisch gemeint, ich weiß
das das W3C die Standards festlegt.

Gut, dann war das eine Antwort für die Mitleser :smile:

Cheatah