Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Galileo Computing
ISBN 3-89842-859-1
gp Kapitel 7 Browserinformationen
  gp 7.1 Browser-Erkennung
  gp 7.2 Weiterleitung


Galileo Computing

7.2 Weiterleitung  toptop

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";
}

 

 <<   zurück
  
  Zum Katalog
Zum Katalog: JavaScript und AJAX
JavaScript und AJAX
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: JavaScript und AJAX - Das Video-Training






 JavaScript und AJAX -
 Das Video-Training


Zum Katalog: Webseiten programmieren und gestalten






 Webseiten
 programmieren
 und gestalten


Zum Katalog: XHTML, HTML und CSS






 XHTML, HTML und CSS


Zum Katalog: CSS-Praxis






 CSS-Praxis


Zum Katalog: AJAX






 AJAX


Zum Katalog: PHP 5 und MySQL 5






 PHP 5 und MySQL 5


Zum Katalog: TYPO3 4.0






 TYPO3 4.0


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de