Sven Rautenberg: Problem mit if Abfrage

Beitrag lesen

Hallo Fachleute,

warum funktioniert mein Script nicht?

<script type="text/javascript">
//Ermittlung der aufgerufenen Domain
Herkunft = window.location.host;
//alles klein, damit kein Fehler beim Vergleich
Herkunft = Herkunft.small();

^^^^^^^
Soll das den Servernamen in Kleinbuchstaben wandeln? Das wird es nicht tun! toLowerCase() benutzen, das funktioniert, weil es genau das macht, was du willst. small() erzeugt Kleinschrift.

Dir hätte übrigens an dieser Stelle ein einfaches:
alert(Herkunft);
geholfen herauszufinden, mit was da verglichen wird. Denn oh Wunder: Der String wird in "<small>" und "</small>" eingebettet. Genau das, was die Funktion machen soll.

if (Herkunft == ('www.schmuckunduhren.de'))  {

^                        ^
Warum sind da Klammern? Weg damit. Stört zwar nicht unbedingt, ist aber ganz sicher sinnlos. Abgesehen davon: Bist du sicher, daß window.location.host die hier gewünschte Information liefert, oder könnten da noch weitere Zeichen drin sein? Das obige Alert würde es aufzeigen.

open("www.schmuckunduhren.de/frame-schmuck.htm", target="_top");
   }

Bitte immer window.open verwenden. Und dann mal bei den Parametern nachgucken, was da angegeben werden muß. Das, was du hier versuchst, kann nicht funktionieren.

http://selfhtml.teamone.de/javascript/objekte/window.htm#open

Vor allem der zweite Parameter ist Müll.

Und wenn du nur ganz simpel das vorhandene Fenster verwenden willst: window.location.href oder auch top.location.href benutzen.

http://selfhtml.teamone.de/javascript/objekte/location.htm#href

if (Herkunft == ('www.uhrmachermeister.de'))  {
     open("www.uhrmachermeister.de/frame-uhren.htm", target="_top");
   }

if (Herkunft == ('www.juwelier-blank.de'))  {
     open("www.juwelier-blank.de/frame-wir.htm", target="_top");
   }

</script>

Für die beiden weiteren Abfragen gelten die Aussagen zur ersten Abfrage genauso.

- Sven Rautenberg