a→ WindowsのIE5.0以上、Netscape7.0以上のブラウザ
b→ それ 以外のブラウザ
(MacのIE、Netscape、Safari、WINのIE5.0未満、
Netscape7.0未満、Opera、Firefoxなど)
http://www.keynavi.net/ja/bugh/css_multi.html#ccomments
HTML,CSSバグ&回避法リスト : 5. ブラウザ別にスタイルシートを指定
>残念ながら、Operaの最新版で「Windowsで走っているIE 5.0以上です」と出てしまいます。
条件分岐コメントを使えば、IEだけに見せること
(またはその逆)
ができます。
Javascriptと組み合わせてみてください。
http://www.hatena.ne.jp/1111239621#
人力検索はてな - ブラウザを次の2種類に判別できる著作権フリーのJavascriptコードを教えてください。 a→ WindowsのIE5.0以上、Netscape7.0以上のブラウザ b→ それ 以外のブラウザ ..
URLはダミーです。
1番の方が大筋は書いて下さっているので、Operaに関してのみ言及します。
Operaの判定は、他ブラウザ判定以前に行って下さい。少なくともieの判定以前に、です。Operaはdocument.all が有効になるので。(Opera7以後は常に、Opera6の場合はie詐称モードの時だけですが、document.allは真になります。)
Operaか否かの判定は
window.opera
を用いて、それが真になれば、Opera、偽になればOpera以外のブラウザです。
後、そちらに必要か否かは不明ですが、Operaのバージョンによる違いは、Ver自体を調べるか、バージョンアップによって追加されたコマンドの真偽確認でできると思います。
後者の方法は、例えば、
document.plugins
が真ならば、Opera7以降、偽ならば6以前です。
http://www.openspc2.org/kouza_js/070/
メールマガジン「目指せ!ウェブマスター」JavaScript講座
識別はこんな感じです。で、サンプル作ってみました。手元にNN7.0なかったんで検証してみて下さい。
<HTML>
<HEAD>
<TITLE>ブラウザ識別サンプル</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=”JavaScript”>
<!--
var a=navigator.appName
var vers = navigator.appVersion.split(”;”);
var user = navigator.userAgent.split(” ”);
switch(a){
case ”Microsoft Internet Explorer”:
var vers2 = vers[1].split(” ”);
var vers3 = vers[2].split(” ”);
if(parseInt(vers2[2])>=5 && vers3[1] == ”Windows”){
//IE 5.0以上でかつWindowsで走っている場合の処理
document.write(”
Windowsで走っているIE 5.0以上です
”);
}else{
document.write(”
想定外のブラウザです
”);
}
break;
case ”Netscape”:
var vers2 = vers[0].split(” ”);
var vers3 = vers2[1].split(”(”);
if(parseInt(vers2[0])>=5.0 && vers3[1] == ”Windows” && user[9].split(”/”)[0]==”Netscape”){
// Netscape 7.0以上でかつWindowsで走っている場合の処理
document.write(”
Windowsで走っているNetscape 7.0以上です
”);
}else{
document.write(”
想定外のブラウザです
”);
}
break;
default:
document.write(”
想定外のブラウザです
”);
}
//-->
</SCRIPT>
</BODY>
</HTML>
これでどうでしょう?私も手元にNN7.0ないので検証してみて下さい。
<HTML>
<HEAD>
<TITLE>ブラウザ判定</TITLE>
<SCRIPT language=”JavaScript”>
<!--
ua = 0;
if(navigator.userAgent.indexOf(”Opera”) >= 0){
ua = 2;
}
else if( (navigator.userAgent.indexOf(”MSIE 6.”) >= 0)
&&(navigator.userAgent.indexOf(”Windows”) >= 0) ){
ua = 1;
}
else if( (navigator.userAgent.indexOf(”MSIE 5.”) >= 0)
&&(navigator.userAgent.indexOf(”Windows”) >= 0) ){
ua = 1;
}
else if( (navigator.userAgent.indexOf(”Mozilla/7.”) >= 0)
&&(navigator.userAgent.indexOf(”Windows”) >= 0) ){
ua = 1;
}
else {
ua = 2;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT language=”JavaScript”>
if(ua == 1) {
document.write(”あなたの使っているブラウザはパターンaです。”);
} else {
document.write(”あなたの使っているブラウザはパターンbです。”);
}
</SCRIPT>
</BODY>
</HTML>
ありがとうございます。わざわざ作っていただいたみたいで・・・ただ、残念ながら、Operaの最新版で「Windowsで走っているIE 5.0以上です」と出てしまいます。それ以外は正常に動作しました。