online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon Jessica vom 09.04.2019, 17:40 Options

Textdatei im gleichen HTML-Dokument anzeigen

Hallo

ich möchte den Inhalt einer Textdatei (verarbeitung.txt) im selben HTML-Dokument anzeigen, in dem sich auch der Verweis auf diese Datei befindet.

Mit <a href="verarbeitung.txt" type="text/plain"> Verarbeitung </a> wird mir auch der Inhalt der Datei angezeigt. Aber halt in einem neune fenster. Hätte es aber gerne das der Inhalt unter dem Verweis angezeigt wird.

Ist so etwas möglich. Und wenn ja wie? Bin für eure Hilfe sehr dankbar.

Jessica


Antwort schreiben

Antwort 1 von rfb vom 09.04.2019, 19:21 Options

Sowas geht mit AJAX, einer JavaScript-Erweiterung (wenn du dem Link folgst findest du auf der Seite ein Beispiel).

Antwort 2 von Jessica vom 09.04.2019, 21:40 Options

Hallo

danke für deine Hilfe. Funktioniert aber nicht.

Bin völliger Neuling auf dem Gebiet HTML, Javascrip und den anderen Programmiersprachen.

Erstelle mein HTML-Dokument mit phase 5 und wenn ichs ausführen möchte bringt er folgende Fehlermeldung: document.getElementById("....") ist Null oder kein Objekt. Was mach ich falsch. Hab ach die HTML-Dokument aus dem Beispiel angelegt.

Funktioniert der Code auch mit Textdatein, oder spielt dies keine Rolle.

Datein liegen auch alle bei mir lokal auf dem Rechner. Es soll keine Serverseitige Anwendung werden.

Danke schon mal für eurer Hilfe

Jessica

Antwort 3 von Ralfman vom 09.04.2019, 21:55 Options

Hi Jessica,
wenn's Dir reicht, kannst Du das auch im iframe machen.

<div style="text-align: center;">

<iframe src="http://www.pfad_zur_textdatei/text.txt" width="493px" height="410px" frameborder="0"></iframe>

Näheres darüber findest Du in selfhtml.

Ralf

Antwort 4 von Ralfman vom 09.04.2019, 21:57 Options

Sorry, Falscher link.
http://www.selfhtml.org ist richtig.

Ralf

Antwort 5 von rfb vom 09.04.2019, 22:13 Options

Zitat:
Funktioniert aber nicht.
ein bisschen ausführlicher solltest du schon beschreiben was du gemacht hast und was daraufhin passiert ist.

ich vermute aber mal, folgende Änderung könnte helfen:

<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", "datei.html", true);
   http.onreadystatechange = ausgeben;
   http.send(null);
}

function ausgeben() {
   if (http.readyState == 4) {
      document.getElementById("Ausgabe").innerHTML =
         http.responseText;
   }
}
}
window.onload=nachladen;
//--></script>
</head>
<body>
HTML vom Server:
<div id="Ausgabe"></div>
</body>
</html>


Wenn das Nachladen vor dem vollständigen Laden der Seite passiert (was bei deiner Konstellation vorkommen kann) entseht die von dir genannte Fehlermeldung.
Mit onload kann das nicht mehr passieren.

Antwort 6 von Jessica vom 09.04.2019, 23:22 Options

hallo

an ralf:
sicht gut aus.

an rfb:
Code funktioniert jetzt auch.

Ist es auch möglich die Datei erst an zu zeigen wenn der Nutzer einen Butten oder Hyperlink oder ähnliches betätigt.

Kann man eigentlich auch auf die Inhalte der Datei zugreifen, z.B. mittels JavaScript

Jessica

Antwort 7 von rfb vom 10.04.2019, 10:21 Options

1. Ja
wenn du die zeile
window.onload=nachladen;
streichst und stattdessen irgendwo auf der Seite
<a href="javascript:nachladen()">Text nachladen</a>

einfügst

und 2.Ja

im Teil
function ausgeben() {
if (http.readyState == 4) {
document.getElementById("Ausgabe").innerHTML =
http.responseText;

kannst du das machen, und zwar mittels

f
unction ausgeben() {
if (http.readyState == 4) {
var dateiinhalt=http.responseText;
[i]...
hier kannst du mit dem Inhalt der Variablen dateiinhalt machen was du willst, zB alle r durch l ersetzen, also alles was unter Stringverarbeitung fällt.
...
Ausgabe erfolgt erst über: [/i]
document.getElementById("Ausgabe").innerHTML =
dateiinhalt;

Antwort 8 von Jessica vom 11.04.2019, 22:13 Options

Hallo

Das mit dem öffnen Funktionier jetzt. Er ignoriet aber Zeilenumbrüche in meine Datei, sprich er zeigt mir alles nacheinander an. Gibt es dor eine Möglichkeit Zeilenumbrüche zu erzwingen?
Kann man mittels einer if-Anweisung herausfinden welcher Verweis betätigtwurde und dementsprechend die datei öffene.
Soll heißen eine funktion "nachladen" und mehrer Verweise, und entsprechend dem Verweis die Datei öffnen. Oder muss ich die Funktion mehrmals mit unterschiedlichem Namen und Datei hinterlegen. Bräuchte eigent nur zu wissen wie ich den Namen des verweise herausbekomme.

Mit dem ändern hab ich micht etwas falsch ausgedrückt.

Die Datein die ich anzeige repräsentieren Tabellen. Ich möchte gerne mehrer Daten anzeigen und auf der Grundlage der Dritten Spalte aus allen Tabellen eine neue generien. Wie kann ich auf einezelen Werte in diesne Datein zugreifen.


Danke für eure schnelle Hilfe

Jessica

Antwort 9 von rabies vom 11.04.2019, 23:01 Options

Zitat:
Gibt es dor eine Möglichkeit Zeilenumbrüche zu erzwingen?

Das Problem, dass Dir Zeilenumbrüche nicht angezeigt werden, wird daran liegen, dass diese nicht in der Textdatei notiert sind. Aber Du kannst dem Abhilfe schaffen, indem Du die Variable
dateiinhalt
'modifizierst', bevor Du Sie ausgibst:

Das könntest Du beispielweise so machen:
dateiinhalt = dateiinhalt.replace(/\n/g, '<br />');


Zitat:
Soll heißen eine funktion "nachladen" und mehrer Verweise, und entsprechend dem Verweis die Datei öffnen.

Man könnte der Funktion 'nachladen' als Parameter den Dateinamen übergeben. Würde dann z.B. so aussehen:

function nachladen(param) {
  var http = null;
  if (window.XMLHttpRequest) {
    http = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    http = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (http != null) {
    http.open("GET", param, true);
    http.onreadystatechange = ausgeben;
    http.send(null);
}


Aufrufen würde man das dann wiefolgt:
<a href="javascript:nachladen('datei.txt')">Text nachladen</a>



An rfb: Hast Du nähere Informationen dazu, wie es sich mit dem
Microsoft.XMLHTTP
verhält? Es gibt da doch verschiedene Aufrufe - bspw.
Msxml2.XMLHTTP
(je nach Version des MicrosoftXML Core Services). Referenziert der Aufruf via 'Microsoft.XMLHTTP' immer auf die neuste, auf dem Client-Rechner vorhandene Version? Wenn's so wäre, würde es ja das ganze
try...catch
-Gewirre, das man in etlichen Code-Beispielen zu AJAX findet, überflüssig machen.

Grüße,
rabies.

Antwort 10 von Jessica vom 12.04.2019, 00:03 Options

Hallo sieht gut aus.

Ist aber möglich das die datei unterhalb des jeweiligen Links eingefügt wird und nicht nach der letzen beschrieben Zeile.

Weiterhin werden die Datein übereinander angezeigt. Kann mann das irgenwie beheben, das die Datein untereinander angeziegt werden?

Ist es auch noch möglich die Tabstops mit anzuzigen da es sich ja um Tabellen handelt.

Danke für eure wirklich schnelle Hilfe

Jessica

Antwort 11 von Jessica vom 12.04.2019, 00:21 Options

Hallo

Das die Datei unter dem entsprechenden Link angezeigt wird habe ich mit einer IF-Anweisung gelöst, die die Parameter "param" bezüglich der Gleichheit der Verweisnamen überprüft und "Ausgabe" nummerriere ich fortlauflend. Unter dem Link gebe ich dann die entsprechen Datei aus.

Falls es eine bessere Lösung gibt wäre ich dankbar. Da es nur 6 Datein sind ist dies aber nicht so schlimm.

Das Problem mit dem Tabstop hab ich noch nicht gelöst.

Jessica

Antwort 12 von rfb vom 12.04.2019, 09:29 Options

@rabies:
kann ich nicht sagen - allerdings hatte ich auf allen getesteten Systemen bislang keine Probleme mit dieser Syntax aus dem Galileo-Computing-Buch (Link in A1)

Ähnliche Themen

Wie kann man ein gescanntes Dokument in eine Textdatei umwandeln?
Ucky  15.05.2007 - 133 Hits - 5 Antworten

Textdatei Analysieren
Ralfman  19.04.2008 - 57 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026