Seite 1 von 1
Browsererkennung mit Javascript
#1
geschrieben 30. Juli 2011 - 10:45
Hallo Community,
ich brauche eine Browsererkennung mit Javascript die heut zu tage zu funktioniert...
ich habe mind. 5 Varianten gefunden, die meisten stammen von < 2008.
Gibt es eine aktuelle Variante?
ich brauche eine Browsererkennung mit Javascript die heut zu tage zu funktioniert...
ich habe mind. 5 Varianten gefunden, die meisten stammen von < 2008.
Gibt es eine aktuelle Variante?
Anzeige
#3
geschrieben 30. Juli 2011 - 13:42
Zuerst mal hier lesen: http://css-tricks.co...tection-is-bad/
hier noch nen haufen useragents http://www.joergkrus...browser/kennung
und falls du englisch kannst: hier die geschichte zu den User Agents (ist recht lustig ) http://webaim.org/bl...string-history/
Spoiler
hier noch nen haufen useragents http://www.joergkrus...browser/kennung
und falls du englisch kannst: hier die geschichte zu den User Agents (ist recht lustig ) http://webaim.org/bl...string-history/
Dieser Beitrag wurde von Ludacris bearbeitet: 30. Juli 2011 - 13:49
#4
geschrieben 30. Juli 2011 - 13:55
navigator.userAgent
Edit: Oh, bissel spät.
#5
geschrieben 07. August 2011 - 11:59
Zitat (Witi: 30. Juli 2011 - 13:55)
navigator.userAgent
Edit: Oh, bissel spät.
Also leute, ich habe schon alle gewöhnlichen Vorgehensweisen getestet.
navigator.userAgent funktioniert natürlich nicht. z.B in Chrome behauptet navigator.userAgent Mozilla usw...
Ich suche hier nach einer Vorgehensweise die aktuell funktioniert.
#6
geschrieben 07. August 2011 - 12:04
ich habe dir doch bereits gesagt dass man nicht mit browsererkennungen arbeiten sollte da genau soetwas passiert. lies dir die geschichte über die useragents durch, sie ist witzig und zeigt genau das problem auf denn chrome ist laut dem user agent nicht chrome sondern "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13" sprich er sagt er ist mozilla auf windows mit apple's webkit die KTHML (von linux entspricht) welche wiederum wie gecko ist und er sagt er ist chrome, der aber gleichzeitig auch safari ist
#7
geschrieben 07. August 2011 - 12:20
Zitat (Ludacris: 07. August 2011 - 12:04)
ich habe dir doch bereits gesagt dass man nicht mit browsererkennungen arbeiten sollte da genau soetwas passiert. lies dir die geschichte über die useragents durch, sie ist witzig und zeigt genau das problem auf denn chrome ist laut dem user agent nicht chrome sondern "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13" sprich er sagt er ist mozilla auf windows mit apple's webkit die KTHML (von linux entspricht) welche wiederum wie gecko ist und er sagt er ist chrome, der aber gleichzeitig auch safari ist
manchmal ist man aber darauf angewiesen du held.
Welche alternative gibt es denn -.-
function checkBrowserName(name)
{
var agent = navigator.userAgent.toLowerCase();
if (agent.indexOf(name.toLowerCase())>-1) {
return true;
}
return false;
}
if(checkBrowserName('MSIE'))
{
alert('MSIE');
}
else if(checkBrowserName('opera'))
{
alert('opera');
}
else if(checkBrowserName('chrome'))
{
alert('chrome');
}
else if(checkBrowserName('safari'))
{
alert('Dsafari');
}
else if(checkBrowserName('firefox'))
{
alert('firefox');
}
so habe ich erstmal keine Probleme, aber nur in der Reihenfolge, ansonsten wäre es auch fehlerhaft.
Dieser Beitrag wurde von sK!LL bearbeitet: 07. August 2011 - 12:20
#8
geschrieben 07. August 2011 - 12:51
wesshalb bist du darauf angewiesen? vielleicht finden wir ein workaround
#9
geschrieben 08. August 2011 - 07:19
sK!LL sagte:
navigator.userAgent funktioniert natürlich nicht. z.B in Chrome behauptet navigator.userAgent Mozilla usw...
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1FX gibt bspw folgendes aus:
Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0Es ist allerdings richtig, dass ich jederzeit die Möglichkeit habe den User-Agent zu ändern.
#10
geschrieben 10. August 2011 - 16:20
mal davon abgesehen, dass man Browserweichen nach Möglichkeit vermeiden sollte, ist der Useragent die wohl eher schlechtere Wahl, sowas zu erledigen. Der kann vom Client beliebig geändert werden
Besser du prüfst ob die JS-Methode, die du verwenden willst, auch existiert
Besser du prüfst ob die JS-Methode, die du verwenden willst, auch existiert
Raise your glass if you are wrong
#11
geschrieben 15. August 2011 - 14:38
Ich überprüfe so z.B. ob der Browser HTML5 unterstützt. Etwas abgewandelt kann man damit sicherlich auch eine einfache Browser-Erkennung durchführen..
Die Frage bleibt aber, ob es bei dir wirklich Sinn macht. Viele Dinge kann man auch anders/schöner lösen.
html5 = { check: function() { var nav = navigator.userAgent, index = value = false; var detect = new Array('Chrome/', 'Firefox/', 'MSIE', 'Opera/', 'Safari/'); var Vstr = new Array('Chrome/', 'Firefox/', 'Trident/', 'Version/', 'Version/'); var HTML5ver = new Array(12, 4, 5, 11.1, 5); for (var i = 0; i < detect.length; i++) { if(nav.indexOf(detect[i])!=-1) { index = nav.indexOf(Vstr[i])+String(Vstr[i]).length; value = nav.substr(index,String(HTML5ver[i]).length); if(value>=HTML5ver[i]) {/*Tue dies*/}; else {/*Tue jenes*/}; return; } } }, ... }
Die Frage bleibt aber, ob es bei dir wirklich Sinn macht. Viele Dinge kann man auch anders/schöner lösen.
Dieser Beitrag wurde von N1truX bearbeitet: 15. August 2011 - 14:39
PC: AMD FX-8150 | Sapphire Radeon HD 5770 @OC-Bios | GA-990XA-UD3 - 4x4 GB DDR3-2133 | OCZ Agility II 128 GiB SSD (OS) & 10 TB-Storage-Server | Win7 Professional x64
NB: Sony Vaio VPCYB16 - AMD Fusion E-350 - 1x4 GiB Kingston DDR3-1333 - 64 GiB Super*Talent SSD
NB: Sony Vaio VPCYB16 - AMD Fusion E-350 - 1x4 GiB Kingston DDR3-1333 - 64 GiB Super*Talent SSD
Thema verteilen:
Seite 1 von 1