selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Eingelesenen Text verarbeiten

Autor: HappyStudent
Datum: 14.12.2015 20:42:08

So,ich bastel hobbymäßig ein wenig an einer Homepage und ich war auf der Suche, nach einer Möglichkeit den Inhalt eines Elements neuzuladen, ohne aber die gesamte Seite neuzuladen.
Ich habe eine Möglichkeit gefunden, mir ein bisschen was zusammen gebastelt und es funktioniert!

Das Ganze hat nur einen Haken. Der Text, der in das Element geladen wird, wird aus einer Datei gelesen und exakt so wie er da steht, abgeschrieben.

Sprich, html wird nicht erkannt und einfach als Text mit auf die Seite gepackt. Dies ist von Nachteil, wenn man Bilder oder Zeilenumbrüche einfügen will.

Mein Kopf hat bereits eine Idee, wie man es lösen kann, aber ich bin nicht fit genug mit Javascript, um es auch in Code umzuwandeln.

Die Idee ist, den Text, der vorher in eine Variable geladen wurde (fileContent), durchzugehen und bei bestimmen Zeichen, bestimmte Befehle durchzuführen. Findet das Programm zum Beispiel "n" im Code, soll ein Zeilenumbruch erzwungen werden.

Ich wäre euch sehr dankbar, wenn ihr mit damit helfen könntet.^^

Hier die Skripte, die ich für das bisher erreichte nutze:

1. Skript zur Auslesung der Datei

<script type="text/javascript" language="javascript">
function ReadFile(fileUrl) {
    var req;
    var fileContent;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.open("GET", fileUrl, false);
        req.send(null);
        fileContent = req.responseText;
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        req.open("GET", fileUrl, false);
        req.onreadystatechange=function() {
                                    if (req.readyState == 4) {
                                        fileContent = req.responseText;
                                    }
                                }
        req.send(null);
    }
    return fileContent;
}// FileRead End
</script>


2. Skript zum (Neu-)Laden des Inhalts in einem Element

<script type="text/javascript" language="javascript">
function tester (textValue){
var initialText = "";
switch (textValue) {
   case 'link1':
initialText = ReadFile("texts/main.html");
   break;
case "link2":
initialText = ReadFile("texts/subtext.html");
     break;
   case "link3":
initialText = "link3,link3,link3,link3,link3,link3,link3,link3,link3!";
break;
}
document.getElementById("textContainer").firstChild.nodeValue = initialText;
}
</script>



Re: Eingelesenen Text verarbeiten

Autor: reporter
Datum: 15.12.2015 17:54:50

Verwende die Reguläre Ausdrucke, kurz RegEx, und die Methode .replace() dazu.

Als Beispiel siehe http://stackoverflow.com/questions/784539/how-do-i-replace-all-line-breaks-in-a-string-with-br-tags welches die Zeilenumbrüche aus Textdateien in hmtl übersetzt. Bei anderen Elementen ist diese Methode ebenfalls deine Freundin ;-)



Re: Eingelesenen Text verarbeiten

Autor: HappyStudent
Datum: 16.12.2015 19:31:23

Vielen Dank! :D  Ich schau's mir mal an und hoffe es klappt so, wie ich es mir vorstelle.