Problem mit if Abfrage
Luis
- javascript
0 myhi0 Luis0 Sven Rautenberg0 Luis
0 Sven Rautenberg0 myhi
0 FICHTL0 Sven Rautenberg
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();
if (Herkunft == ('www.schmuckunduhren.de')) {
open("www.schmuckunduhren.de/frame-schmuck.htm", target="_top");
}
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>
es muß an der if Abfrage liegen, die URL wird richtig erkannt. Wie macht man eine Abfrage für einen String in JS. Bei perl weiß ich, dass hier eq angebracht wäre, aber bei JS gibt´s das scheinbar nicht.
Vielen Dank für Antworten schon mal vorneweg!
Luis
dein Fehler liegt hier:
Herkunft = Herkunft.small();
die methode small() gibt es nicht!
verwende mal die methode toLowerCase() also folgendermassen:
Herkunft = Herkunft.toLowerCase();
dein Fehler liegt hier:
Herkunft = Herkunft.small();
die methode small() gibt es nicht!
verwende mal die methode toLowerCase() also folgendermassen:
Herkunft = Herkunft.toLowerCase();
ehrlich??
hab ich aber doch in selfhtml gefunden!
SELFHTML\TQ.HTM
und wenn ich "Herkunft" mit "document.write(Herkunft)" anzeigen lasse erscheint ja auch die Domain in Kleinbuchstaben, egal ob ich sie im Browser groß oder klein eingetippt habe.
Also muß was mit meiner if Abfrage nicht stimmen, oder??
Trotzdem danke für die Antwort
Luis
Moin!
ehrlich??
hab ich aber doch in selfhtml gefunden!
SELFHTML\TQ.HTM
Lade dir mal SelfHTML 8.0 runter, da sind viele Fehler bereinigt, und außerdem ist es eben die aktuelle Dokumentation. Version 7.0 (und Vorgänger) sind schlicht und einfach alt.
und wenn ich "Herkunft" mit "document.write(Herkunft)" anzeigen lasse erscheint ja auch die Domain in Kleinbuchstaben, egal ob ich sie im Browser groß oder klein eingetippt habe.
Tja, nur daß durch Herkunft.small() aus dem String eben was ganz anderes wird... du wirst meine andere Antwort gelesen haben...
- Sven Rautenberg
Ok,
als ich die letzte Rückfrage eintippte, war erst eine Antwort hier und schwups sind es so viele.
Ich glaube ich habe kapiert, Danke.
Werde mich sofort an die Arbeit machen!
Luis
Moin!
dein Fehler liegt hier:
Herkunft = Herkunft.small();
die methode small() gibt es nicht!
Doch, die gibts, und die funktioniert auch ganz prima - wenn man will, was sie tut.
http://selfhtml.teamone.de/javascript/objekte/string.htm#small
verwende mal die methode toLowerCase() also folgendermassen:
Herkunft = Herkunft.toLowerCase();
- Sven Rautenberg
dein Fehler liegt hier:
Herkunft = Herkunft.small();
die methode small() gibt es nicht!
verwende mal die methode toLowerCase() also folgendermassen:
Herkunft = Herkunft.toLowerCase();
stimmt, anscheinend gibts die doch,
aber wer braucht denn so was????????????????
hallo
if (Herkunft == ('www.schmuckunduhren.de')) {
open("www.schmuckunduhren.de/frame-schmuck.htm", target="_top");
}
weniger klammern:
if (Herkunft == 'www.uhrmachermeister.de') {
open("www.uhrmachermeister.de/frame-uhren.htm", target="_top");
}
ich glaube das die klammern (siehe oben) zu viel sind!
schöne grüße
FICHTL
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