JS: Wie Textdatei statt Text einbinden?

Hallo,

habe das hier gefunden:

Hello World

<button onclick=“wow(“bye world”)”>Don’t click me

Das funktioniert und das Helle World wird nach Klick zu bye world:

Aber wenn ich nun statt “bye world” z.B. text.txt reinschreibe, so steht nicht der Inhalt von text.txt drin sondern einfach nur text.txt. Wie kann ich den Inhalt statt dem Namen anzeigen lassen? Ich habe davon nicht viel Ahnung, habe aber file () und andere Dinge probiert, die ich finden konnte, dann kam aber meist “undefined” nach dem Klick raus. Keine Ahnung warum.

Wie geht das, den Inhalt der .txt (oder .php ist ja egal) reinzuschreiben?

Danke,
scacom

Damit das sicher bei jedem funktioniert, würde man das auf dem server etwa per PHP
include machen und sicher nicht mit java-script, weil dies das Potential hat, den Inhalt oder die
Bedeutung des Dokumentes zu ändern, was bei (X)HTML-Dokumenten nicht sinnvoll ist, die
immer selbst den Inhalt repräsentieren.

Ansonsten - bei dieser Methode kann man da von der technischen Seite sicher über das DOM
auch ein object oder iframe reinsetzen, welches dann eine andere Datei einbindet.
Sinnvoller ist es da natürlich, das java-script gleich wegzulassen und von vorne herein
iframe oder object zu verwenden und das eingebettete Dokument per Verweis zu wechseln.

Ansonsten - wie bei der anderen Anfrage schon angedeutet, wenn man den Inhalt erstmal
ohne java-script funktionsfähig bekommen hat, kann man eine Alternative mit java-script
anbieten, die AJAX vewendet - ohne normale Alternative für den kompletten Inhalt wäre das aber
eben inkompetent und unbedingt zu vermeiden.

Hallo,

OK, danke. Klingt ja nicht nach einer guten Lösung.

iFrames:
Ja, die kann ich, allerdings passt sich die Größe vom iFrame nicht an den Inhalt an, ich möchte ein scrollen im iframe verhindern.

Hätte noch eine Idee, die ich aber noch nicht ganz durchdacht habe bzw. die ich noch nicht ganz abschätzen kann:
Ich könnte den Inhalt “fix” machen und das Menü oben (inkl. Animation) als iframe. Ich weiß aber nicht, ob man das “äußere” vom iframe aus ändern kann. Bzw. bräuchte man vielleicht 2 iframes, um es mit “target: Name” ansprechen zu können?!?

Aber das kann ja nicht sein, dass sowas unmöglich zu machen ist. Es gibt ja Homepages die sowas machen.

AJAX kenne/kann ich nicht und kann dazu nichts sagen. Habe es zwar bei meiner Suche auch gefunden, aber ich kann damit nichts anfangen.

LG
scacom

Wenn man den ganzen Anzeigebereich mit frames fluten will, nennt man das ein frameset,
gibt es mit eigenständiger Syntax für die Übergangsvarianten von HTML4 und XHTML1.0,
also eher addressiert an Leute, die gegen Ende des letzten Jahrtausends ihre Seiten
geschrieben haben ;o) - Kann aber wie gesagt auch heute noch etwa bei chats oder
Vergleich von Dokumenten noch einen Sinn ergeben.

Ansonsten geht der Austausch von Inhalt eines Dokumentes allein mit XHTML nicht.
Mit CSS kann man Dinge ein- und ausblenden oder nicht inhaltlich relevante Strukturen
zusätzlich erzeugen.
Mit dem geplanten CSS-Animationsmodul mag man da in Zukunft noch weiter gehen können,
ähnlich wie bei SVG heute schon, bezieht sich dann aber auf die Dekoration und Präsentation,
nicht auf den Inhalt.

Und der von dir vermutlich mal gesehene Austausch ist bestenfalls zu sehen, wenn an deinem
Darstellungsprogramm die Interpretation von java-script aktiviert ist und das Programm noch
nicht sehr alt ist - dann wird der Effekt auf AJAX basieren, eine spezielle Methode, mit welcher
per java-script Inhalte vom server gezogen werden können, die man dann verbasteln kann -
wie angemerkt inhaltlich eine komplett unzulängliche Lösung, wenn derselbe Inhalt nicht auch
ohne Skriptinterpretation verfügbar ist.

OK, dann mache ich es eben per iframe - Sache erledigt.

Finde es schade, dass das Internet so weit technisch hinten ist, dass einfache Leute diese Funktionen nicht nutzen können und dass man Profi sein muss, um das machen zu können. Könnte ja wohl kein Problem sein, z.B. in einem Menü per CSS ein ausgewähltes Element markiert zu LASSEN oder andere Kleinigkeiten. Alles muss man selbst stundenlang erarbeiten, um dann drauf zu kommen, dass es keine Lösung gibt. Schon klar, kann man alles lernen oder kaufen, aber da sollte sollte das mal irgendjemand machen, der Ahnung davon hat, was die Leute brauchen. Sehr sehr schade. :frowning: Bin grad sauer :slight_smile: SORRY.

Wenn du gerne nur den Inhalt der Seite neuladen willst, dann würde ich dir z.B. jNavigate vorschlagen. Dieses jquery plugin baut diese Funktionalität sauber ein. Schreibe deine Seite ganz normal für php mit include/require. Anschließend kommt das Javaskript dazu und im PHP ein paar if/else Konstrukte, um die Navigation bei AJAX-aufrufen zu verstecken:
jnavigate.com/
jnavigate.com/docs?example=usage ( Achtung: include im Beispiel unsicher! )