Guten Tag. Ich möchte eine Textdatei in einem Iframe einer HTML-Datei mithilfe Javascript mit einer bestimmten Formatierung ausgeben.
Guten Tag. Ich möchte eine Textdatei in einem Iframe einer HTML-Datei mithilfe Javascript mit einer bestimmten Formatierung ausgeben. Ähnlich wie es hier http://www.supportnet.de/fresh/2007/4/id1532781.asp schon einmal beschrieben ist. Sprich bei Aufrufen der HTML-Seite soll automatisch die Textdatei eingelesen und ausgegeben werden. Nun möchte ich aber das in der Textdatei zum Beispiel steht <Zeilenumbruch> und das das automatisch als <br> interpretiert wird und somit der Zeielnumbruch erfolgt. Es soll jemand ganz ohne HTML-Kenntnisse leicht den Text ändern können. Ich wäre für Hilfe wirklich dankbar.
Antwort schreiben
Antwort 1 von johann1976 vom 25.01.2022, 16:50 Options
Hallo.
So funktioniert es im Mozilla Firefox.
<html>
<head>
<title>AJAX</title>
<script type="text/javascript">
function nachladen() {
var http = null;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", "textdatei.txt", true);
http.onreadystatechange = ausgeben;
http.send(null);
}
function ausgeben() {
if (http.readyState == 4) {
var dateiinhalt=http.responseText;
dateiinhalt = dateiinhalt.replace(/<absatz_text>/g, '<b><font size="+2">');
dateiinhalt = dateiinhalt.replace(/<absatz_endet>/g, '</font></b>');
dateiinhalt = dateiinhalt.replace(/ae/g, 'ä');
dateiinhalt = dateiinhalt.replace(/Ae/g, 'Ä');
dateiinhalt = dateiinhalt.replace(/oe/g, 'ö');
dateiinhalt = dateiinhalt.replace(/Oe/g, 'Ö');
dateiinhalt = dateiinhalt.replace(/ue/g, 'ü');
dateiinhalt = dateiinhalt.replace(/Ue/g, 'Ü');
dateiinhalt = dateiinhalt.replace(/ss/g, 'ß');
document.getElementById("Ausgabe").innerHTML = dateiinhalt;
}
}
}
window.onload=nachladen;
//--></script>
</head>
<body bgcolor=red>
HTML vom Server:
<div id="Ausgabe"></div>
</body>
</html>
Leider nicht im Internet Explorer. Weiß jemand Rat? Ich krieg schon kahle Stellen vom Haare raufen, bitte helft mir.
Antwort 2 von gast42 vom 25.01.2022, 18:02 Options
http ist lokale Variable in nachladen, in ausgeben daher unbekannt!
Antwort 3 von gast42 vom 25.01.2022, 19:47 Options
dein Code umgeschrieben auf anonyme Funktionen und Closures (umgehen das lokale-Variable-Problem):
<html>
<head>
<title>AJAX</title>
<script type="text/javascript">
window.onload=function () {
var http = null;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", "textdatei.txt", true);
http.onreadystatechange = function(){
if (http.readyState == 4) {
var dateiinhalt=http.responseText;
... (viel unnötiger Code, zB. Umlautmaskierung!)
document.getElementById("Ausgabe").innerHTML=dateiinhalt;
}
http.send(null);
}
}
}
</script>
</head>
<body style="background-color:red">
HTML vom Server:
<div id="Ausgabe"> </div>
</body>
</html>
Außerdem die Kommentar-Ende-Deklaration im Script gelöscht - völlig überflüssig und zudem unvollständig.
Tipp: Firefox hat eine Fehlerkonsole (Menü Extras)
Antwort 4 von johann1976 vom 26.01.2022, 00:07 Options
Erstmal vielen Dank für die zwei schnellen Antworten ! Leider krieg ich das nicht zum laufen.
<html>
<head>
<title>AJAX</title>
<script type="text/javascript">
window.onload=function () {
var http = null;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", "textdatei.txt", true);
http.onreadystatechange = function(){
if (http.readyState == 4) {
var dateiinhalt=http.responseText;
document.getElementById("Ausgabe").innerHTML=dateiinhalt;
}
http.send(null);
}
}
}
</script>
</head>
<body bgcolor=red>
HTML vom Server:
<div id="Ausgabe"> </div>
</body>
</html>
Fehlt da noch was?
Die Umlautmaskierung brauch ich net wirklich. Stimmt.
Aber ich möchte in der Textdatei zum Beispiel schreiben <zeilenumbruch> und die Funktion soll automatisch das als <br> ausgeben, sprich an der Stelle einen Zeilenumbruch einfügen. Genauso mit der Formatierung, Schriftart und so.
Danke für die Mühe.
Antwort 5 von gast42 vom 26.01.2022, 06:18 Options
Fehlermeldungen?
Antwort 6 von johann1976 vom 26.01.2022, 09:11 Options
Der IE8 bringt
Details zum Fehler auf der Webseite
Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; FDM; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
Zeitstempel: Tue, 26 Jan 2010 08:03:26 UTC
Meldung: Zugriff verweigert
Zeile: 13
Zeichen: 3
Code: 0
URI: file:///Y:/Eigene%20Dateien/Aktuelle%20Projekte/ZIS%201472009/ZIS_neue_Webseite/GoLive/test.html
im Mozilla steht nichts verwertbares. Nur eine Fehlermeldung über Google. Zeigt aber gar nichts an.
Was bedeutet lokale Variable?
Antwort 7 von gast42 vom 26.01.2022, 19:49 Options
Zitat:
im Mozilla steht nichts verwertbares
überlass die Beurteilung besser anderen. Und betätige den Button "Löschen" vor dem Reload deiner Seite.
Die Fehlermeldungen des Internet-Explorer sind grundsätzlich nicht verwertbar!