gruss Bencun,
Beinahe alle meine Scripte funktionieren nicht mit Opera! An was
liegt das?
er ist halt etwas eigen;
durchstoebere einfach mal die letzten 2/3 monate unter:
http://www.teamone.de/selfaktuell/forum/archiv/2001/
suche dort nach "opera" und lies mal nach;
Wie indentifiziere ich eigentlich Opera?
IE : if(document.all)...
NS4 : if(document.layers)...
NS6 : if(document.getElementById && !document.all)..
Opera: if(???)...
den musst Du direkt aus dem [navigator.userAgent] rauslesen,
da ein opera benutzer einstellen kann, wie sich der browser
identifizieren darf und zumindest der opera5 (opera < 5 hab'
ich im moment nicht auf dem rechner) sowohl
(document.getElementById) als auch (document.all) akzeptiert;
probier mal das hier - die zurueckgelieferten angaben sollten eigentlich stimmen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>script-libraray: teil [01] - c l i e n t P r o p e r t i e s - object</title>
<script language="JavaScript" type="text/javascript">
<!--
/* teil [01] - c l i e n t P r o p e r t i e s - object / script-library */
/*
* stand : 14.august 2001
* autor : Peter Seliger - pseliger@gmx.net
*
* inhalt: das [clientProperties]-objekt liefert informationen zu den gaengigsten
* browsern und betriebssystemen (NNAV,MSIE,Opera,Mozilla / win,mac,unix/linux)
*/
//alert(navigator.language);
//alert(navigator.browserLanguage);
//alert(navigator.appName);
//alert(navigator.appVersion);
//alert(navigator.userAgent);
// begin: C L A S S - [clientProperties]
//
// C O N S T R U C T O R
function clientProperties() {
this.isNN3 = (((document.images) ? true : false) && !((document.layers) ? true : false) && !((document.all) ? true : false) && !((document.getElementById) ? true : false)); //alle Netscape 3.x und AEHNLICHE mit den gleichen eigenschaften !!!
this.isNN4 = ((document.layers) ? true : false); //alle Netscape 4.x
this.isNN6 = (((document.getElementById) ? true : false) && !((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("gecko") >= 0) && (navigator.userAgent.toLowerCase().indexOf("netscape6") >= 0)); //Netscape 6.x - unterscheidung wegen unterschiedlich interpretierten schriftgroessen - NN4/NN6 faellt aus dem rahmen: [ (font-size)++ ]
this.isMO = (((document.getElementById) ? true : false) && !((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("gecko") >= 0) && (navigator.userAgent.toLowerCase().indexOf("netscape") == -1)); //Mozilla 0.9.x/1.x; - unterscheidung wegen unterschiedlich interpretierten schriftgroessen - MO als auch OP und IEx interpretieren korrekt
this.isIE4 = (((document.all) ? true : false) && !((document.getElementById) ? true : false)); //Microsoft Internet Explorer 4.x
this.isIE5 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("msie 5") >= 0) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1)); //Microsoft Internet Explorer 5.x
this.isIE6 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("msie 6") >= 0) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1)); //Microsoft Internet Explorer 6.x
this.isOP4 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("opera 4") >= 0)); //Opera 4
this.isOP5 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("opera 5") >= 0)); //Opera 5
this.isWin = (navigator.userAgent.toLowerCase().indexOf("win") >= 0);
this.isMac = (navigator.userAgent.toLowerCase().indexOf("mac") >= 0);
this.isX11 = ((navigator.userAgent.toLowerCase().indexOf("x11") >= 0) || (navigator.userAgent.toLowerCase().indexOf("linux") >= 0));
}
//
// end: C L A S S - [clientProperties]
// nur zum testen der klasse
var client = new clientProperties();
function clientPropertiesDraw() {
var clientFontSize = ((client.isNN4 || client.isNN6) ? 3 : 2);
var string = ''+
'<font face="verdana,helvetica,geneva,arial,sans-serif">\n<table cols="2" rows="' + (client.length+1) + '" width="100" cellspacing="0" cellpadding="3" bordercolor="#000000" border="1">\n'+
'<tr><td nowrap><font size="' + (clientFontSize+1) + '" color="#ffaa00"><b>[object].properties</b></font></td><td nowrap><font size="' + (clientFontSize+1) + '" color="#ffaa00"><b>dieses system</b></font></td></tr>\n';
for (prop in client) {
string += '<tr><td nowrap><font size="' + clientFontSize + '" color="#9f5f00"><b>client.' + prop + '</b></font></td><td nowrap><font size="' + clientFontSize + '" color="#ff7f00"><b>' + client[prop] + '</b></font></td></tr>\n';
}
string += '</table>\n</font>';
return string;
}
// nur zum testen der klasse
//-->
</script>
</head>
<body>
<script language="JavaScript" type="text/javascript">document.write(clientPropertiesDraw());</script>
</body>
</html>
tschuess und by(t)e by(t)e - peterS. - pseliger@gmx.net