mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 03:10 Benutzername: Passwort: Auto-Login

Thema: Javascript: Abfrage, ob Safari am Werk ist vom 06.10.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Javascript: Abfrage, ob Safari am Werk ist
Autor Nachricht
mirok
Threadersteller

Dabei seit: 02.01.2006
Ort: Nürnberg
Alter: -
Geschlecht: -
Verfasst Fr 06.10.2006 13:42
Titel

Javascript: Abfrage, ob Safari am Werk ist

Antworten mit Zitat Zum Seitenanfang

Hallo!

Kann mir jemand sagen, wie ich in JS eine Abfrage programmiere, mit der ich rausfinde, ob der benutzte Browser der Safari ist?

mit appName oder appCodeName funktioniert es nicht, da sich der Safari als Netscape bzw Mozilla ausgiebt...

Vielen Dank!
  View user's profile Private Nachricht senden
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Fr 06.10.2006 13:59
Titel

Antworten mit Zitat Zum Seitenanfang

Das steht im userAgent kram drin. Also ein indexOf auf den String ob Safari
drin vorkommt und fertig ist die Laube würde ich sagen.

Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85 (KHTML, like Gecko) Safari/85

sowas in der Art müsste da zurück kommen.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
monika_g

Dabei seit: 23.01.2006
Ort: Hamburg
Alter: -
Geschlecht: Weiblich
Verfasst Fr 06.10.2006 14:08
Titel

Antworten mit Zitat Zum Seitenanfang

den UserAgent-String kann man im Safari ändern.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Skyw4lker

Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht: Männlich
Verfasst Fr 06.10.2006 14:32
Titel

Antworten mit Zitat Zum Seitenanfang

und wenn der user javascript ausschaltet gehts auch nicht mehr ...

Zuletzt bearbeitet von Skyw4lker am Fr 06.10.2006 14:32, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
mirok
Threadersteller

Dabei seit: 02.01.2006
Ort: Nürnberg
Alter: -
Geschlecht: -
Verfasst Fr 06.10.2006 15:34
Titel

Antworten mit Zitat Zum Seitenanfang

Vielen Dank!
  View user's profile Private Nachricht senden
aklein

Dabei seit: 23.02.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 10.10.2006 14:35
Titel

Antworten mit Zitat Zum Seitenanfang

Für alle die es vieleicht mal brauchen können, ich hab hier ne relativ umfanreiche Klasse die nahezu alle Browser ermittelt und auch deren Versin aus gibt.

Hier erst mal die Klasse:
Code:

   //Browser ermitteln
   class browser{
   
      var $Name = "Unknown";
      var $Version = "Unknown";
      var $Platform = "Unknown";
      var $UserAgent = "Not reported";
      var $AOL = false;
   
      function browser(){
         $agent = $_SERVER['HTTP_USER_AGENT'];
   
         // initialize properties
         $bd['platform'] = "Unknown";
         $bd['browser'] = "Unknown";
         $bd['version'] = "Unknown";
         $this->UserAgent = $agent;
   
         // find operating system
         if (eregi("win", $agent))
            $bd['platform'] = "Windows";
         elseif (eregi("mac", $agent))
            $bd['platform'] = "MacIntosh";
         elseif (eregi("linux", $agent))
            $bd['platform'] = "Linux";
         elseif (eregi("OS/2", $agent))
            $bd['platform'] = "OS/2";
         elseif (eregi("BeOS", $agent))
            $bd['platform'] = "BeOS";
   
         // test for Opera       
         if (eregi("opera",$agent)){
            $val = stristr($agent, "opera");
            if (eregi("/", $val)){
               $val = explode("/",$val);
               $bd['browser'] = $val[0];
               $val = explode(" ",$val[1]);
               $bd['version'] = $val[0];
            }else{
               $val = explode(" ",stristr($val,"opera"));
               $bd['browser'] = $val[0];
               $bd['version'] = $val[1];
            }
   
         // test for WebTV
         }elseif(eregi("webtv",$agent)){
            $val = explode("/",stristr($agent,"webtv"));
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
         
         // test for MS Internet Explorer version 1
         }elseif(eregi("microsoft internet explorer", $agent)){
            $bd['browser'] = "MSIE";
            $bd['version'] = "1.0";
            $var = stristr($agent, "/");
            if (ereg("308|425|426|474|0b1", $var)){
               $bd['version'] = "1.5";
            }
   
         // test for NetPositive
         }elseif(eregi("NetPositive", $agent)){
            $val = explode("/",stristr($agent,"NetPositive"));
            $bd['platform'] = "BeOS";
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
   
         // test for MS Internet Explorer
         }elseif(eregi("msie",$agent) && !eregi("opera",$agent)){
            $val = explode(" ",stristr($agent,"msie"));
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
         
         // test for MS Pocket Internet Explorer
         }elseif(eregi("mspie",$agent) || eregi('pocket', $agent)){
            $val = explode(" ",stristr($agent,"mspie"));
            $bd['browser'] = "MSPIE";
            $bd['platform'] = "WindowsCE";
            if (eregi("mspie", $agent))
               $bd['version'] = $val[1];
            else {
               $val = explode("/",$agent);
               $bd['version'] = $val[1];
            }
            
         // test for Galeon
         }elseif(eregi("galeon",$agent)){
            $val = explode(" ",stristr($agent,"galeon"));
            $val = explode("/",$val[0]);
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
            
         // test for Konqueror
         }elseif(eregi("Konqueror",$agent)){
            $val = explode(" ",stristr($agent,"Konqueror"));
            $val = explode("/",$val[0]);
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
            
         // test for iCab
         }elseif(eregi("icab",$agent)){
            $val = explode(" ",stristr($agent,"icab"));
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
   
         // test for OmniWeb
         }elseif(eregi("omniweb",$agent)){
            $val = explode("/",stristr($agent,"omniweb"));
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
   
         // test for Phoenix
         }elseif(eregi("Phoenix", $agent)){
            $bd['browser'] = "Phoenix";
            $val = explode("/", stristr($agent,"Phoenix/"));
            $bd['version'] = $val[1];
         
         // test for Firebird
         }elseif(eregi("firebird", $agent)){
            $bd['browser']="Firebird";
            $val = stristr($agent, "Firebird");
            $val = explode("/",$val);
            $bd['version'] = $val[1];
            
         // test for Firefox
         }elseif(eregi("Firefox", $agent)){
            $bd['browser']="Firefox";
            $val = stristr($agent, "Firefox");
            $val = explode("/",$val);
            $bd['version'] = $val[1];
            
        // test for Mozilla Alpha/Beta Versions
         }elseif(eregi("mozilla",$agent) &&
            eregi("rv:[0-9].[0-9][a-b]",$agent) && !eregi("netscape",$agent)){
            $bd['browser'] = "Mozilla";
            $val = explode(" ",stristr($agent,"rv:"));
            eregi("rv:[0-9].[0-9][a-b]",$agent,$val);
            $bd['version'] = str_replace("rv:","",$val[0]);
            
         // test for Mozilla Stable Versions
         }elseif(eregi("mozilla",$agent) &&
            eregi("rv:[0-9]\.[0-9]",$agent) && !eregi("netscape",$agent)){
            $bd['browser'] = "Mozilla";
            $val = explode(" ",stristr($agent,"rv:"));
            eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent,$val);
            $bd['version'] = str_replace("rv:","",$val[0]);
         
         // test for Lynx & Amaya
         }elseif(eregi("libwww", $agent)){
            if (eregi("amaya", $agent)){
               $val = explode("/",stristr($agent,"amaya"));
               $bd['browser'] = "Amaya";
               $val = explode(" ", $val[1]);
               $bd['version'] = $val[0];
            } else {
               $val = explode("/",$agent);
               $bd['browser'] = "Lynx";
               $bd['version'] = $val[1];
            }
         
         // test for Safari
         }elseif(eregi("safari", $agent)){
            $bd['browser'] = "Safari";
            $bd['version'] = "";
   
         // remaining two tests are for Netscape
         }elseif(eregi("netscape",$agent)){
            $val = explode(" ",stristr($agent,"netscape"));
            $val = explode("/",$val[0]);
            $bd['browser'] = $val[0];
            $bd['version'] = $val[1];
         }elseif(eregi("mozilla",$agent) && !eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent)){
            $val = explode(" ",stristr($agent,"mozilla"));
            $val = explode("/",$val[0]);
            $bd['browser'] = "Netscape";
            $bd['version'] = $val[1];
         }
         
         // clean up extraneous garbage that may be in the name
         $bd['browser'] = ereg_replace("[^a-z,A-Z]", "", $bd['browser']);
         // clean up extraneous garbage that may be in the version       
         $bd['version'] = ereg_replace("[^0-9,.,a-z,A-Z]", "", $bd['version']);
         
         // check for AOL
         if (eregi("AOL", $agent)){
            $var = stristr($agent, "AOL");
            $var = explode(" ", $var);
            $bd['aol'] = ereg_replace("[^0-9,.,a-z,A-Z]", "", $var[1]);
         }
         
         // finally assign our properties
         $this->Name = $bd['browser'];
         $this->Version = $bd['version'];
         $this->Platform = $bd['platform'];
         $this->AOL = $bd['aol'];
      }
   }


und hier ein kleines Anwendungs-Beispiel:
Code:

//Browser ermitteln
$browser = new Browser;
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Sarky

Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht: Männlich
Verfasst Di 10.10.2006 15:19
Titel

Antworten mit Zitat Zum Seitenanfang

http://phpsniff.sourceforge.net/
  View user's profile Private Nachricht senden
 
Ähnliche Themen [JavaScript] - Form Type Abfrage
[Mac] Safari und Javascript - nochmals
Probleme mit JavaScript im Safari
[SAFARI] Javascript debugging
[Javascript] Nur im safari tut es nicht?
[javascript] Safari Version 1 erkennen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.