Wie kann ich eine Textzeile oder Passage aus einer txt Datei lesen mit Javascript?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Naja der klassische Weg wäre es den Inhalt der Datei über AJAX zu laden. AJAX macht mit Vanilla JS wenig Spaß, aber es gibt ja fertige. Beispiele dafür.

Dann speicherst du die einzelnen Sätze in einem Array. Beim Klick auf den Button wählst du dann zufällig ein Item des Arrays aus und speicherst den Text halt in den div.

Beispielcode für die einzelnen Schritte sollte sich via Google finden lassen. (Bin grad am Handy und habe hier keine Beispiele parat.)

Woher ich das weiß:Berufserfahrung – Studium + Berufserfahrung

BenIEbelt 
Fragesteller
 24.04.2022, 19:05

..ich hab vergessen zu erwähnen, dass ich blutiger Anfänger bin und all das nur zum Spass und aus reinem Interesse mache. Mit AJAX hab ich gar keine Erfahrung. Das ganze in Arrays zu packen hab ich mir auch schon überlegt, dass könnte ich ja im script selbst umsetzen.. Jedoch, wenn es viele Sätze werden, wäre dass dann zu umständlich.

Anleitungen gibts zu viele, daher stellte ich die Frage hier. Es ist noch etwas schwer am Anfang zu unterscheiden welches tut gut gecoded ist und welches nicht. Bevor ich mir dann eine schlampige Schreibweise aneigne, frage ich lieber nochmal nach. Trotzdem vielen Dank =)

1
fluffiknuffi2  24.04.2022, 19:26
@BenIEbelt

Du könntest auch einfach einen einzelnen großen Text Block in den Javascript Code pflanzen und dann mit JavaScript die einzelnen Sätze daraus extrahieren.

So etwas wie: sentences.split("\n")

1
BenIEbelt 
Fragesteller
 24.04.2022, 19:38
@fluffiknuffi2

Ich denke so kommen wir der Sache schon näher :D. So ungefähr hab ich gehofft dass es funktioniert. Ich hab einen großen Textblock den ich mittels zeichen oder Absätze in verschiedene Teile zerlegen kann und diesse somit abrufbar sind.

1
BenIEbelt 
Fragesteller
 24.04.2022, 19:46
@fluffiknuffi2

..habs mir gerade angeschaut.. damit kann ich auf jeden Fall arbeiten. Vielen Dank, somit ist das Problem gelöst. DANKE !

1

Du könntest deinen Inhalt in einer Variable speichern, die du dann ausliest. Du könntest den Inhalt dann auch gleich in einer Liste speichern.

Du kannst deine extra Text Variable auch in einer zweiten Datei abspeichern. Du musst deine zweite JS Datei dann als erstes im HTML Dokument einbinden. Wichtig!

Datei 1: text.js

const textList = [
  "Satz 1",
  "Satz 2"
]

Datei 2: main.js

console.log(textList[0])

Datei 3: index.html

...
<script type="text/javascript" src="text.js"></script>
<script type="text/javascript" src="main.js"></script>
...

Bei dieser Umsetzung hast du weiterhin deine Texte in einer eigenen Datei, musst dich aber nicht mit dem Lesen der Datei beschäftigen. Das Laden der Datei übernimmt der Browser für dich.


BenIEbelt 
Fragesteller
 25.04.2022, 04:36

Danke für den Tip, so funktioniert es.. aber ich müsste jeden Satz einzeln einfügen. Bei über 100 stk macht das keinen Spass =). Die eigene Datei ist kein muss, der Schwerpunkt liegt bei der Anzahl an Textzeilen oder Abschnitte/ Sätze die sich per click auf einen bestimmten Button ändern. .. Trotzdem vielen Dank =)

0
tide1109  25.04.2022, 06:15
@BenIEbelt

Du könntest deine Antworten auch in einem sehr langen String speichern und dann die mit dem Zeilenumbruch trennen.

Es gibt Multiline Strings, wo du einfach dein Block an Text einfügen kannst.

Wenn es nur ums einmalige Formatieren mit "nur" 100 Sätzen geht, geht das Hinzufügen mit einem der " und , mit einem passenden Texteditor sehr leicht.

Zum Beispiel könntest du durch Suchen und Erssetzen den Zeilenumbruch suchen und durch "," ersetzen. Dann musst du ganz zu Beginn und am Ende noch die " setzen und es in der Variable speichern lassen.

Mit der automatischen Textformatierung kommen die Zeilenumbrüche zurück und die Datei sieht wieder schön aus.

0