User 0815: Zeilenumbruch in Frames

Hallo Profis,

ich bräuchte da mal eure Hilfe:

Im folgenden Script lade ich je nach Wunsch des Users die Inhalte verschiedener Text-Dateien in ein Frame.

Script:

		  
fr_txt.location.href= "Textdateien/" + var + ".txt";  

HTML:

  
<iframe name="fr_txt" width="600" height="250"></iframe>  

Leider brechen die Zeilen am Ende des Frames nicht um.
Somit bekomme ich immer einen lästigen horizontalen Scroll-Balken.

Wie kann ich den vermeiden... .

Vielen Dank im Voraus
Gruß User 0815

  1. Leider brechen die Zeilen am Ende des Frames nicht um.
    Somit bekomme ich immer einen lästigen horizontalen Scroll-Balken.
    Wie kann ich den vermeiden... .

    Gar nicht.
    Du müsstest wenn schon serverseitig die Textdateien in einen HTML Kontext imortieren, und dann diese HTML Datei ausgeben.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Gar nicht.
      Du müsstest wenn schon serverseitig die Textdateien in einen HTML Kontext imortieren, und dann diese HTML Datei ausgeben.

      mfg Beat

      Hallo Beat,

      es steht leider keine Webserver zur Verfügung. Das findet alles lokal statt. Deshalb auch die ungewöhnliche Methode des Txt-Imports.

      Könnte ich den Text nicht in eine Zelle in dem Frame werfen, oder so ähnlich... .

      Gruß
      User 0815

      1. Hi,

        Könnte ich den Text nicht in eine Zelle in dem Frame werfen, oder so ähnlich... .

        Was soll denn eine Zelle des Frames sein?

        Du könntest den Text per AJAX laden - wobei das lokal gewissen Einschränkungen unterworfen sein kann.

        Oder du gibst dem window-Objekt des Frames ein onload-Event, weist dann die Textdatei als Quelle zu - und nach dem fertig laden dieser liest du dann den aktuellen Inhalt des Frames aus, baust ein kleines HTML-Dokument drumherum, und fügst dann dieses wieder in den Frame ein.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Hallo ChrisB

          Was soll denn eine Zelle des Frames sein?

          Mein Fehler! Ich meinte damit eine Tabelle in dem Frame und dann den Text in eine Zelle deren Breite ich ja fixieren kann... .

          Du könntest den Text per AJAX laden - wobei das lokal gewissen Einschränkungen unterworfen sein kann.

          Prinzipiell müsste ich nur den Text aus verschiedenen Text-Dateien laden.
          Wenn möglich noch ein wenig formatieren. Meinst du XMLHTTP-Request.

          Oder du gibst dem window-Objekt des Frames ein onload-Event, weist dann die Textdatei als Quelle zu - und nach dem fertig laden dieser liest du dann den aktuellen Inhalt des Frames aus, baust ein kleines HTML-Dokument drumherum, und fügst dann dieses wieder in den Frame ein.

          Der User kann per Dropdown bestimmen welche *.txt geladen werden soll.
          Wäre das onload-Event dafür nicht ungeeignet?

          Vielen Dank & Gruß
          User 0815

          1. Hi,

            Der User kann per Dropdown bestimmen welche *.txt geladen werden soll.
            Wäre das onload-Event dafür nicht ungeeignet?

            Ja, dafür, den Nutzer die Auswahl treffen zu lassen, wäre er ungeeignet.
            Aber davon war ja auch nicht die Rede.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
            1. Aber es müsste doch eine Lösung geben die Zeilen trotz dieser Txt-Import-variante zu brechen, oder

              Gruß
              User 0815

              1. Hi,

                Aber es müsste doch eine Lösung geben die Zeilen trotz dieser Txt-Import-variante zu brechen, oder

                https://forum.selfhtml.org/?t=192620&m=1285748

                MfG ChrisB

                --
                “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. Hello,

    Leider brechen die Zeilen am Ende des Frames nicht um.
    Somit bekomme ich immer einen lästigen horizontalen Scroll-Balken.

    Wie kann ich den vermeiden... .

    Indem Du nicht mehr Dateien, sondern Ressourcen anfragst und diesen dann einen Content-Type: text/plain gibst. Dann beachtet der Browser die üblichen Zeilenumbruchzeichen in Text-Dateien auch in einem I-Frame.

    Das geht natürlich nicht über das Pseudo-Protokoll file:.
    Dazu wäre ein (lokaler) HTTP-Server notwendig.

    Diesen gibt es ja als XAMPP oder auch als Server2Go-Version.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hallo,

      Leider brechen die Zeilen am Ende des Frames nicht um.
      Somit bekomme ich immer einen lästigen horizontalen Scroll-Balken.
      Wie kann ich den vermeiden... .

      Indem Du nicht mehr Dateien, sondern Ressourcen anfragst und diesen dann einen Content-Type: text/plain gibst. Dann beachtet der Browser die üblichen Zeilenumbruchzeichen in Text-Dateien auch in einem I-Frame.

      ich glaube, du hast das Problem missverstanden. Der OP möchte, dass am Rand des Fensters (Frames) ein automatischer Umbruch erfolgt, wie es bei HTML-Inhalten üblich ist.

      Mir ist übrigens kein Unterschied im Verhalten der Browser bekannt, ob ich nun Textdateien über das Pseudoprotokoll file:// oder echte HTTP-Ressourcen vom Typ text/plain anzeigen lasse. In beiden Fällen wird der Text quasi in Rohform (preformatted) dargestellt. Im Text vorhandene Umbrüche bleiben erhalten, aber ein automatischer Umbruch überlanger Zeilen wie bei HTML findet nicht statt.

      Dazu wäre ein (lokaler) HTTP-Server notwendig.

      Der hilft da leider auch nicht weiter.

      Ciao,
       Martin

      --
      Bitte komme jemand mit einem *g* zum Wochenende, damit nicht über mich gelacht wird.
        (Gunnar Bittersmann)
      1. Hello,

        ich glaube, du hast das Problem missverstanden. Der OP möchte, dass am Rand des Fensters (Frames) ein automatischer Umbruch erfolgt, wie es bei HTML-Inhalten üblich ist.

        Ja, Du hast recht. Ich hatte es anders herum verstanden, nämlich dass der ASCII-Zeilenumbruch der Datei nicht erkannt würde.

        Mir ist übrigens kein Unterschied im Verhalten der Browser bekannt, ob ich nun Textdateien über das Pseudoprotokoll file:// oder echte HTTP-Ressourcen vom Typ text/plain anzeigen lasse. In beiden Fällen wird der Text quasi in Rohform (preformatted) dargestellt. Im Text vorhandene Umbrüche bleiben erhalten, aber ein automatischer Umbruch überlanger Zeilen wie bei HTML findet nicht statt.

        Die mir bekannten Browser berücksichtigen über das file:-Protokoll die Endung (Extension) der Datei. 'htm' und 'html' und sicherlich noch ein paar weitere werden als 'text/html' angenommen und alle anderen textuell darstellbaren als 'text/plain'.

        Beim Protokoll http: sollten die Browser das nicht unterscheiden, sondern nur auf die HTTP-Header oder die Meta-Tags achten.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
    2. Hallo Tom,

      Dazu wäre ein (lokaler) HTTP-Server notwendig.

      Diesen gibt es ja als XAMPP oder auch als Server2Go-Version.

      Hab ich auch schon dran gedacht.

      Da liegt jedoch das Problem, dieser steht mir leider nicht zur Verfügung, aus administrativen und applicationstechnischen Gründen.

  3. Hello,

    Im folgenden Script lade ich je nach Wunsch des Users die Inhalte verschiedener Text-Dateien in ein Frame.

    Script:

    fr_txt.location.href= "Textdateien/" + var + ".txt";

    
    >   
    > HTML:  
    > ~~~html
      
    
    > <iframe name="fr_txt" width="600" height="250"></iframe>  
    > 
    
    

    Leider brechen die Zeilen am Ende des Frames nicht um.
    Somit bekomme ich immer einen lästigen horizontalen Scroll-Balken.

    Wie kann ich den vermeiden... .

    Es war auch genau anders herum, als ich eben erst verstanden hatte.
    Du willst also eine Fließtextanzeige erreichen.

    Dann müsstest Du die Dateien nicht mit der Endung '.txt' (oder ähnlich) enden lassen, sondern mit der Endung '.html' oder so ähnlich.

    Dann nimmt der Browser, sofern er nichts anderes über Protokoll und Header gesagt bekommt, den MIME-Type 'text/html' an und der wird im i-frame automatisch umgebrochen wie Fließtext.

    Ob das irgendwo verbrieft ist in einer RFC weiß ich nicht, aber alle mir zur Zeit verfügbaren Browser verhalten sich genau so.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Dann müsstest Du die Dateien nicht mit der Endung '.txt' (oder ähnlich) enden lassen, sondern mit der Endung '.html' oder so ähnlich.

      Das ist zwar simple aber löst das Problem.

      Einziger Wermutstropfen ist das beim bearbeiten der *.txt nun die Rechte Maustaste und Edit betätigt werden muss statt einfach Doppelklick.
      (sollte auch für DAUs machbar sein)

      Trotzdem vielen Dank werde es so umsetzen.

      Gruß User 0815

      1. Hello,

        Dann müsstest Du die Dateien nicht mit der Endung '.txt' (oder ähnlich) enden lassen, sondern mit der Endung '.html' oder so ähnlich.

        Das ist zwar simple aber löst das Problem.

        Einziger Wermutstropfen ist das beim bearbeiten der *.txt nun die Rechte Maustaste und Edit betätigt werden muss statt einfach Doppelklick.
        (sollte auch für DAUs machbar sein)

        Die lokale Bearbeitung sollte auch über eine "HTA-Anwendung" möglich sein (google mal danach). Dann kann die Datei zum Bearbeiten aus dem Browser heraus angeklickt und geöffnet werden. Ich bin im Moment aber überfragt, welche Browser außer dem IE das noch unterstützen.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de