Ein Fragment umwandeln

Erzeuge Zeichenfolgen für vorhandenen JavaScript-Code oder lies den Inhalt literaler document.writeln-Aufrufe. Die Verarbeitung erfolgt im Browser; die Ausgabe zeigt Quelltext und rendert keine HTML-Elemente.

  1. Gib <p>Grüße</p> ein und wähle HTML in JavaScript. Es entsteht ein document.writeln-Aufruf mit einer Zeichenfolge. < wird als \u003c geschrieben und behält beim Lesen der Zeichenfolge seinen Wert.
  2. HTML in String-Array legt für jede Zeile einen Eintrag an. Zwei Zeilen mit A und B ergeben die Array-Einträge "A" und "B".
  3. JavaScript in HTML verarbeitet etwa document.writeln("A");document.writeln("B"); zu A, Zeilenumbruch, B und einem abschließenden Zeilenumbruch. Ergebnis kopieren übernimmt die Ausgabe; Änderungen an der Eingabe löschen das alte Ergebnis.

Zeilenenden und erlaubte Syntax

Jeder Aufruf hängt LF an

Beim Erzeugen von JavaScript werden CRLF und CR zu LF vereinheitlicht. Jede Zeile erhält einen Aufruf, auch eine leere letzte Zeile. Aus A wird daher A mit einem LF; aus A mit abschließendem LF wird A mit zwei LF.

Die Rückrichtung rekonstruiert den geschriebenen Text, nicht die Formatierung des JS-Quelltexts. Leere JS-Eingabe ergibt leeren Text, document.writeln("") dagegen ein LF. Ein Array fügt seinen Einträgen keine Zeilenumbrüche hinzu; mit \n verbunden ergeben sie die vereinheitlichte Eingabe.

Keine Auswertung beliebiger Programme

Zulässig sind direkte document.writeln-Aufrufe mit genau einem Stringliteral in einfachen oder doppelten Anführungszeichen. Der Parser liest Escape-Sequenzen; Leerraum und Kommentare zwischen Aufrufen sind erlaubt.

Variablen, Verkettungen, Template-Literale, Arrays, document.write und Zugriffe über eckige Klammern werden abgewiesen. Umschließende script-Tags gehören nicht zur erlaubten JS-Eingabe. HTML-Referenzen wie &amp; bleiben als Text erhalten.

HTML wird nicht bereinigt

Anführungszeichen, Apostrophe, Backslashes und Steuerzeichen werden als JavaScript-Zeichenfolgen korrekt maskiert. Die Maskierung von < verhindert ein wörtliches schließendes script-Tag im erzeugten Quelltext. Der dekodierte HTML-Inhalt enthält trotzdem seine ursprünglichen Tags und Attribute.

Das Werkzeug prüft oder bereinigt HTML nicht. Wer das Ergebnis anderswo ausführt, kann mit document.writeln aktives HTML einfügen oder ein geladenes Dokument ersetzen. Für neuen DOM-Code wird diese ältere API nicht empfohlen. Hier wird der Code weder ausgeführt noch die Eingabe in einer Konvertierungsanfrage versendet.

Fragen zu HTML und JavaScript

Lässt sich ein beliebiges Skript in HTML zurückverwandeln?

Nein. Gelesen werden nur die unterstützten document.writeln-Aufrufe mit einem Stringliteral. Funktionen, Variablen und Berechnungen werden nicht ausgewertet.

Bleiben leere Zeilen im Array erhalten?

Ja, als leere Zeichenfolgen, auch am Ende. CRLF- und CR-Zeilenenden werden vor der Aufteilung zu LF vereinheitlicht. Die Array-Ausgabe enthält keine Variablenzuweisung.

Zuletzt verwendet: