Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

In Javascript sind ASCII Zeichen egal?





Frage

Hallo, ich habe gerade gesehen, daß man, wenn man z.B. mit Javascript das Wort "frühling" schreiben will (alert), ASCII Zeichen anwenden muss, die sonst im HTML nicht erlaubt sind. Sprich alert("Frühling") anstelle von alert("&....) Hab ich das richtig verstanden? Vielen Dank für Euer Feedback im voraus LG Mel

Antwort 1 von rfb

Zumindest versteht JavaScript nicht das Unicode-System (mit dem &)!

Bei JavaScript gibt es für derartige Sonderzeichen eine andere Methode, die Funktionen
escape()
und
unescape()
, alles weitere darüber hier: http://de.selfhtml.org/javascript/objekte/unabhaengig.htm

Allerdings kommen die mir bekannten JavaScript-Interpreter in der Regel auch mit Umlauten ohne
escape() unescape()
zurecht. Aber spätestens bei der Wertübergabe mittels
location.search
gibts damit Probleme weshalb ich grundsätzlich "Frühling" nur als
unescape("Fr%FChling")
schreiben würde.

Antwort 2 von Supermax

Das "Escapen" von Sonderzeichen ist im Prinzip nur in reinem HTML-Code erforderlich, und auch da in der Regel nur für Zeichen, die in HTML eine spezielle Bedeutung haben, also das Kleinerzeichen, das Größerzeichen und der Ampersand ("Kaufmanns-Und").

JavaScript verwendet hier überhaupt eine andere Notation, die sich an der in der Sprache C verwendeten Syntax anlehnt:

z.B. "\n" für einen Zeilenvorschub oder "\t" für einen horizontalen Tabulator. Mit "\xXX" wird das Zeichen mit dem Hexcode "XX" in den Text eingefügt (siehe z.B. Windows-Zeichentabelle), mit "\uXXXX" läßt sich ein Unicode-Zeichen mit dem Hex-Code "XXXX" einfügen. Letzteres funktioniert allerdings erst ab JavaScript 1.2 oder 1.3; frühere Versionen können mit Unicode noch nichts anfangen.

Antwort 3 von Mel

aha,
vielen Dank für die ausführlichen Hinweise und den Link.
Dann werde ich gleich einmal dementsprechend Javscripts anpassen.

Super Hilfe, danke.

LG
Mel

Antwort 4 von Mel

Gibts vielleicht in Dreamweaver ein Tool, daß mir den Text in "Javascript -konforme" Schreibweise umwandelt?

Hab http://www.salesianer.de/util/alert-umlaute.html gefunden, aber es ist ein wenig mühsam, alles einzeln einzugeben usw.

LG
Mel

Antwort 5 von rfb

kopier dir dies Beispiel - http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#escape - und erzeuge damit den escape-Code, den du brauchst (in meinem Beispiel oben habe ich es auch so gemacht)

Antwort 6 von Mel

rfb:
Zitat:
http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#escape - und erzeuge damit den escape-Code, den du brauchst (in meinem Beispiel oben habe ich es auch so gemacht


Das ist schon viel einfacher und weniger umständlich. Super Tip. Danke schön.

Gruss Mel

Antwort 7 von Mel

So, jetzt hier noch mal ein Feedback:

Der encode Befehl schreibt Umlaute wunderbar in alert-ausgabe-leserliche Zeichen um, aber leider passiert folgendes:

Nach jedem Wort, das "encoded" wurde, wird die Zeile umgebrochen.

Bei dem folgenden Beispiel wird der Text in der Alertausgabe zum Beispiel unschöne zweimal umgebrochen:

if (document.formula.test.checked == false){
alert(unescape("bitte tragen Sie die Blumen f%FCr den Fr%FChling ein.. !"));


Weiss jemand einen Rat hier? Warum ist das so?

Wäre super. Vielen Dank im voraus
Mel

Antwort 8 von rfb

Ich kann dein Problem mit keinem der gerade installierten Browser (Opera, FF, IE6) nachvollziehen!

Antwort 9 von Mel

Ah, gut daß du das schreibst.

Ich hab deshalb jetzt gefunden, woran es liegt. Das Programm http://www.salesianer.de/util/alert-umlaute.html , daß ich anfangs benutzte, um den Code umzuschreiben, hat jeweils "%0A%0A%0A" an die einzelnen Ausführungen gehangen und damit den Umbruch produziert.

Man oh man, endlich ist das Problem mit dem Alertfenster und den Umlauten dank Dir gelöst.

Tausend Dank
Gruss Mel

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: