7.2 Weiterleitung  
Alle Angaben zur URL der aktuellen Seite sind im location-Objekt gespeichert, das wiederum ein Unterobjekt des window-Objekts ist. Das window-Objekt kennen Sie ja bereits ein wenig, beispielsweise von window.alert(). Man greift also auf das location-Objekt mit window.location zu. Das window-Objekt ist jedoch das Standardobjekt unter JavaScript, der Name kann also weggelassen werden. Ein einfaches location (bzw. alert()) reicht zum Aufruf aus.
Das location-Objekt hat mehrere Eigenschaften und Methoden. Zunächst ist für Sie die Eigenschaft href interessant, die die gesamte URL enthält. Ab Netscape Navigator 2 bzw. Internet Explorer 4 erhält man diese auch, wenn man direkt auf location zugreift, aber einige Uralt-Browser fallen mal wieder aus der Reihe. Auch wenn das mittlerweile niemanden mehr kümmert, verwenden die meisten JavaScript-Programmierer aus Gründen der Gewohnheit seit jeher immer location.href.
Das war auch schon alles, was wissenswert ist. Der folgende Code zeigt noch einmal exemplarisch auf, wie verschiedene Browser auf verschiedene Seiten umgeleitet werden. Achten Sie darauf, wie verschachtelte if-Anweisungen vermieden werden: Wenn location.href mit einem neuen Wert besetzt wird, wird nämlich die Ausführung des Skripts sofort beendet.
var ua = navigator.userAgent.toLowerCase();
var mozillabrowser = (ua.indexOf("gecko/") != –1);
var iebrowser = (ua.indexOf("msie") > –1 && ua.indexOf("opera") == –1);
var operabrowser = (ua.indexOf("opera") > –1);
var av = navigator.appVersion;
var version = av.substring(0, av.indexOf(" ")) *1;
var version2 = av.substring(0, av.indexOf(".")) *1;
if (mozillabrowser || operabrowser)
var versionsnummer = version2;
else if (iebrowser){
if (version2==4 && ua.indexOf("msie 5") == –1 && ua.indexOf("msie 6") == –1 && ua.indexOf("msie 7") == –1) {
var versionsnummer = 4;
} else if (version2==4 && ua.indexOf("msie 5") > –1) {
var versionsnummer = 5;
} else if (version2==4 && ua.indexOf("msie 6")>-1) {
var versionsnummer = 6;
} else if (version2==4 && ua.indexOf("msie 7")>-1) {
var versionsnummer = 7;
}
}
//Weiterleitung
if (mozillabrowser && versionsnummer <= 2) {
location.href="uralt.html";
}
if (mozillabrowser && versionsnummer > 4) {
location.href="mozilla.html";
}
if (iebrowser && versionsnummer < 6) {
location.href="alter-ie.html";
}
if (iebrowser && versionsnummer == 6) {
location.href="ie6.html";
}
if (iebrowser && versionsnummer == 7) {
location.href="ie7.html";
}
if (operabrowser) {
location.href="opera.html";
}
|