NorbertKlein: prob bei http:// mit replace

Beitrag lesen

<script type="text/javascript" language="JavaScript">
<!--
 url = document.URL;
 url = url.replace(/http:///,"");
 url = url.replace(///,"");
 document.write(url);
//-->
</script>

oder

<script type="text/javascript" language="JavaScript">
<!--
 url = document.hostname;
 document.write(url);
//-->
</script>

Erklärung:
Du musst je einen Backslash() vor die Slashes(/) machen, da Slashes u.a. zur Syntax der regulären Ausdrücke gehören, der Browser meint, dass er, wenn du:
 url = url.replace(/http:///,"");
angibst, "http:" ersetzen soll. Die zwei restlichen Slashes passen ihm dann nicht, darum die Fehlermeldung.
Setzt du vor den zwei in der Zeichenkette enthaltenen Slashes jeweils einen Backslash:
 url = url.replace(/http:///,"");
werden die Slashes zur Zeichenkette hinzugezählt.

Bei url = url.replace(///,""); solltest du aber aufpassen, dass keine URLs mit Unterverzeichnissen auftauchen, die werden sonst nämlich unbrauchbar gemacht:
"http://selfhtml.teamone.de/javascript/objekte/" -> "selfhtml.teamone.dejavascriptobjekte"
Um das zu vermeiden, kannst du eigentlich gleich document.hostname verwenden (hätte mir auch früher einfallen können).

Weiterführend:
document.hostname -
http://selfhtml.teamone.de/javascript/objekte/location.htm#hostname
Syntax der regulären Ausdrücke - http://selfhtml.teamone.de/javascript/objekte/regexp.htm
Steuerzeichen bei Zeichenketten -
http://selfhtml.teamone.de/javascript/sprache/notationen.htm#zeichenketten

Gruß
Norbert