Problem mit Opera 9 und Javascript

  • #1
moe_szyslak

moe_szyslak

Aktives Mitglied
Themenersteller
Dabei seit
22.04.2007
Beiträge
40
Reaktionspunkte
0
Hallo,

ich habe eine Homepage, auf der ich die Navigationsleiste per Javascript erstellt habe. InternetExplorer, Firefox usw. funktionieren ohne Probleme, nur mit Opera werden die ganzen Menüpunkte in einer Zeile dargestellt. Aus der Vergangenheit weiß ich, dass ich beim IE immer die Broweserrkennung im Script anpassen musste. Weiß jemand, wie sich Opera zu erkennen gibt?

Anbei findet Ihr den entsprechenden Teil aus dem Javascript.

Grüße
Moe

Code:
...
// Javascript von T. Brattli
function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf(Opera 5)>-1
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie5=(this.ver.indexOf(MSIE 5)>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf(MSIE 6)>-1 && this.dom && !this.opera5)?1:0;
	this.ie7=(this.ver.indexOf(MSIE 7)>-1 && this.dom && !this.opera5)?1:0;
	this.ie8=(this.ver.indexOf(MSIE 8)>-1 && this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6||this.ie7||this.ie8
	this.mac=this.agent.indexOf(Mac)>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie8 || this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.opera6 || this.opera7 || this.opera8 || this.opera9)
	return this
}
...

[br][blue]*PCDpan_fee: Verschoben aus "Web-Browser"*[/blue]
 
  • #2
... nach einigem Testen und langen Suchen bei Google habe ich eine Lösung gefunden. Durch einfügen der folgenden Zeile

Code:
this.other=(this.ver.indexOf(U)>-1 && this.dom && !this.opera5)?1:0;

ist die Browserkennung für Opera (und auch Netscape) aktiv. Der gesamte Browsercheck sieht jetzt wie folgt aus:

Code:
function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf(Opera 5)>-1
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie5=(this.ver.indexOf(MSIE 5)>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf(MSIE 6)>-1 && this.dom && !this.opera5)?1:0;
	this.ie7=(this.ver.indexOf(MSIE 7)>-1 && this.dom && !this.opera5)?1:0;
	this.ie8=(this.ver.indexOf(MSIE 8)>-1 && this.dom && !this.opera5)?1:0;
	this.other=(this.ver.indexOf(U)>-1 && this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6||this.ie7||this.ie8||this.other
	this.mac=this.agent.indexOf(Mac)>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.other || this.ie8 || this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.opera6 || this.opera7 || this.opera8 || this.opera9)
	return this
}
 
Thema:

Problem mit Opera 9 und Javascript

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.836
Beiträge
707.957
Mitglieder
51.488
Neuestes Mitglied
elkhse
Oben