Schrift
[thread]2311[/thread]

JS: Prüfen welcher Browser? Opera macht Probleme



<< >> 9 Einträge, 1 Seite
Danwe
 2006-09-06 15:54
#24877 #24877
User since
2006-06-09
76 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich möchte gerne Prüfen ob der Browser der Internetexplorer ist, oder ein anderer Browser und zwar mit JAvascript, nicht die HTML-Variante.
Ich habe dafür schon "navigator.appName" gefunden.
Hier gibts aber das Problem dass Opera sich bei vielen Anwendern als Internetexplorer ausgibt. Damit fällt Opera unter Internetexplorer u. erledigt den Code den eigentlich nur der IE auführen soll, das ist Mist.

Weis jemand wie ich das umgehen kann oder einen alternativen Befehl dafür? Habe gehört es gibt eine Möglichkeit wie man Opera bombensicher identifizieren kann, bin mir aber nicht Sicher.
renee
 2006-09-06 16:02
#24878 #24878
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
GwenDragon
 2006-09-06 16:06
#24879 #24879
User since
2005-01-17
14607 Artikel
Admin1
[Homepage]
user image
Musste schon richtig testen!
Den Useragentstring (UA) ;)
Code: (dl )
var isOpera = navigator.userAgent.indexOf('Opera')>-1;

Es sei denn, es ist komplett maskiert. Opera kann nämlich auch den kompletten UA austauschen, dann ist nirgends mehr ein Opera drin.

Aber: Nur Opera hat zum Beispiel das JS-Objekt window.opera
;)\n\n

<!--EDIT|GwenDragon|1157549138-->
Danwe
 2006-09-06 18:00
#24880 #24880
User since
2006-06-09
76 Artikel
BenutzerIn
[default_avatar]
window.opera??

Hmh, ich habe es nun anders gelöst.
mir ist aufgefallen dass Opera im Gegensatz zu FF u. Co genauso wie der IE auch diesen einen IE-Befehl ausführen kann.
Das heist also erst kommt die Abfrage Browser != IE wenn Opera da mit rein läuft ist gut variable x wird auf 1 gesetzt. Wenn Opera sich als IE ausgibt gehts weiter zu x == 0 und da läuft dann Opera ggf. mit rein, der IE auf jeden Fall, die anderen Browser nicht.
So ist das Problem auch gelöst :D
Durch beide kann ich Opera übrigens nicht einfach laufen lassen, drum das drumherum.
GwenDragon
 2006-09-06 18:27
#24881 #24881
User since
2005-01-17
14607 Artikel
Admin1
[Homepage]
user image
[quote=Danwe,06.09.2006, 16:00]window.opera??[/quote]
Ja.

window.opera ist ein Objekt, was nur in Opera vorhanden ist.

teste einfach mal:
Code: (dl )
if (window.opera) alert("Ich bin Opera!");
Danwe
 2006-09-07 13:23
#24882 #24882
User since
2006-06-09
76 Artikel
BenutzerIn
[default_avatar]
Na gut. Aber wie kann man in Opera das deaktivieren, so dass wirklich keiner mehr weis ob es nun Opera ist oder nicht?
GwenDragon
 2006-09-07 15:44
#24883 #24883
User since
2005-01-17
14607 Artikel
Admin1
[Homepage]
user image
[quote=Danwe,07.09.2006, 11:23]Aber wie kann man in Opera das deaktivieren, so dass wirklich keiner mehr weis ob es nun Opera ist oder nicht?[/quote]
Weil es möglich ist und so manche Webseite Opera auf Grund schlechter Javascriptprogrammierung aussperrt oder manches nur mit der Identifikation IE oder Mozilla geht.

Dieses "Maskieren" geht so:
1) In den seitenspezifischen Einstellungen.
Karte Netzwerk
Browser-Identifikation

2) Mit Operas Userjavascripten das Objekt navigator verändern\n\n

<!--EDIT|GwenDragon|1157629595-->
Danwe
 2006-09-11 17:42
#24884 #24884
User since
2006-06-09
76 Artikel
BenutzerIn
[default_avatar]
ich verstehe das nicht. Warum gibt sich Opera als was anderes aus (standardmäßig ja als IE) ich meine so ists doch kein Wunder dass Opera in vielen Statistiken sehr weit hinten steht, einfach darum weil der IE oder Firefox die Zugriffe angerechnet bekommen :rock:
Oder irre ich mich da?
GwenDragon
 2006-09-11 20:37
#24885 #24885
User since
2005-01-17
14607 Artikel
Admin1
[Homepage]
user image
Warum und ob sich Opera 9.0 (noch) als IE fälscht, weiß ich nicht. Meiner identifiziert sich immer als Opera.
<< >> 9 Einträge, 1 Seite



View all threads created 2006-09-06 15:54.