Ashura: Fähigkeitenweiche

Beitrag lesen

Hallo hübi.

gibt es hier einen, der seine browserweiche mit javascript mir mal zur verfügung stellen kann. sie soll nur die aktuelle browser unterscheiden und automatisch weiterleiten!

Wenn du eine Browserweiche brauchst, hast entweder du mächtig etwas falsch gemacht, oder aber der Hersteller des betroffenen Browsers.

hab im web nur kuddel-muddel gefunden.

Und genau das sind Browserweichen auch.

Allgemein: vergiss das Wort „Browserweiche“ und befasse dich mit der „Fähigkeitenweiche“.
Diese beruht darauf, dass du zu Beginn deines Scriptes auf das Vorhandensein der Methoden und Eigenschaften prüfst, welche du einzusetzen gedenkst.

Beispiel: wir wollen uns den Textinhalt des ersten Absatzes in einem Dokument ausgeben lassen.

Das HTML-Dokument:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">  
  <head>  
    <title>Fähigkeitenweiche</title>  
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />  
  </head>  
  <body>  
    <p>Lorem ipsum</p>  
    <p>Dolor sit</p>  
    <p>Amet.</p>  
  </body>  
</html>

Und nun das JS dazu:

if (document.getElementsByTagName) {  
  
  var p = document.getElementsByTagName('p')[0];  
  
  // Wenn ein Client getElement… versteht, kann man davon ausgehen, dass er auch mit firstChild und nodeValue kein Problem hat.  
  alert(p.firstChild.nodeValue);  
  
}

Ergibt „Lorem ipsum“.

In Einzelfällen, wenn du nicht nur darauf prüfen willst, ob ein Objekt oder eine Eigenschaft existiert, sondern auch, ob sie dem von dir erwarteten Typ entspricht, hilft der http://de.selfhtml.org/javascript/sprache/operatoren.htm#typeof@title=typeof-Operator weiter.

Einen schönen Montag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]