当前位置: 代码迷 >> JavaScript >> 怎么判断浏览器 ie6 ie7 ff opera
  详细解决方案

怎么判断浏览器 ie6 ie7 ff opera

热度:726   发布时间:2012-04-03 12:38:19.0
如何判断浏览器 ie6 ie7 ff opera
如何判断浏览器 ie6 ie7 ff opera

有时候见到htm文件里面有
<!--[if IE 6]>
...
<![endif]-->
这样的的片段
请问有没有全部的其他条件语句资料?

还有,有没有js插件用来判断当前浏览器的版本?也可以是jquery插件。

------解决方案--------------------
B = (function(ua){
var b = {
msie: /msie/.test(ua) && !/opera/.test(ua),
opera: /opera/.test(ua),
safari: /webkit/.test(ua) && !/chrome/.test(ua),
firefox: /firefox/.test(ua),
chrome: /chrome/.test(ua)
};
var vMark = "";
for (var i in b) {
if (b[i]) { vMark = "safari" == i ? "version" : i; break; }
}
b.version = vMark && RegExp("(?:" + vMark + ")[\\/: ]([\\d.]+)").test(ua) ? RegExp.$1 : "0";

b.ie = b.msie;
b.ie6 = b.msie && parseInt(b.version, 10) == 6;
b.ie7 = b.msie && parseInt(b.version, 10) == 7;
b.ie8 = b.msie && parseInt(b.version, 10) == 8;

return b;
})(window.navigator.userAgent.toLowerCase());

具体可以看这里
------解决方案--------------------
JScript code

function detectBrower()   
{    
    var sUserAgent = navigator.userAgent;    
    var isOpera = sUserAgent.indexOf("Opera") > -1;   
    if(isOpera) return "Opera";   
    var isKHTML = sUserAgent.indexOf("KHTML") > -1 || sUserAgent.indexOf("Konqueror") > -1 || sUserAgent.indexOf("AppleWebKit") > -1;   
    var isSafari = sUserAgent.indexOf("AppleWebKit") > -1 && isKHTML;   
    var isKonq = sUserAgent.indexOf("Konqueror") > -1 && isKHTML;   
    if(isSafari) return "Safari";   
    if(isKonq) return "Konqueror";   
    var isIE = sUserAgent.indexOf("compatible") > -1 && sUserAgent.indexOf("MSIE") > -1 && !isOpera;   
    if(isIE) return "IE";   
    var isMoz = sUserAgent.indexOf("Gecko") > -1 && !isKHTML;   
    if(isMoz) return "Mozilla";   
    return "None";   
}

------解决方案--------------------
基本上,流行的js框架里都有类似的代码,下几个看看就知道了

一般有两种方法,一是用userAgent判断,二是使用浏览器/版本所特有的对象、属性、方法等来判断
  相关解决方案