1. js判断是否是IE浏览器的几种方法
前几天在网上看到一个技术牛人写的世界上判断是否IE浏览器之最短的js代码,如下:<scriptif(!+[1,])alert(这是ie浏览器);
else alert(这不是ie浏览器);
</script
其实有很多判断的方法,大都是根据浏览器的特性来的。
比如库prototype的方法是:!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1) 。就是根据ie支持window.attachEvent添加侦听事件,非ie用window.addEventListener添加侦听事件来判断的。navigator.userAgent.indexOf('Opera') === -1是因为opara浏览器能伪装成ie.如果!!(window.attachEvent )为真,就是ie;反之,如果!window.addEventListener为真,也可以判断为ie.
Ext使用的是!1[0],他利用IE无法使用数组下标访问字符串的特性来判断。在ie8下好像有问题。
在!+[1,]还未被发现前,判断ie最短的表达式是 !+\v1.它利用的是ie不支持垂直制表符的特性。
以前还有一个常用方法是document.all,由于opera浏览器能伪装成ie。可以这样写:!!(document.all && navigator.userAgent.indexOf('Opera') === -1).
还有很多,先记这几条,便于工作时查阅。
1.+[1,]
2.!+\v1
3.!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)
4.!!(!window.addEventListener&& navigator.userAgent.indexOf('Opera') === -1)
5.!!(document.all && navigator.userAgent.indexOf('Opera') === -1)
2. JS 中如何判断出 各个IE浏览器的版本
IE6~IE10的浏览器特征明显,存在msie字符串,而IE11去掉了msie字符串,可以通过rv后面的版本号专识别IE11,具体方法如属下:
functionIETester(userAgent){
varUA=userAgent||navigator.userAgent;
if(/msie/i.test(UA)){
returnUA.match(/msie(d+.d+)/i)[1];
}elseif(~UA.toLowerCase().indexOf('trident')&&~UA.indexOf('rv')){
returnUA.match(/rv:(d+.d+)/)[1];
}
returnfalse;
}
IETester();//不传参数返回当前IE版本,如果不是IE内核浏览器,返回false
IETester('Mozilla/5.0(WindowsNT6.3;WOW64;Trident/7.0;rv:11.0)likeGecko');//传userAgent字符串,用来判断其他IE浏览器的版本,该示例返回11.0
3. js如何判断浏览器类型,包括手机浏览器的
在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题。在众多的浏览器产品中,IE、Firefox、Opera、Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的。下面列举一下常用的判断方法:
1、判断浏览器是否为IE
document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0;
navigator.userAgent.indexOf("MSIE")>0 ? 'IE' : 'others':navigator.userAgent是描述用户代理信息。
navigator.appName.indexOf("Microsoft") != -1 ? 'IE' : 'others':navigator.appName描述浏览器名称信息。
2、判断IE版本
navigator.appVersion.match(/6./i)=="6." ? 'IE6' : 'other version':在已知是IE浏览器的情况下,可以通过此方法判断是否是IE6;
navigator.userAgent.indexOf("MSIE 6.0")>0 ? 'IE7' : 'other version':同上;
navigator.appVersion.match(/7./i)=="7." ? 'IE7' : 'other version':在已知是IE浏览器的情况下,可以通过此方法判断是否是IE7;
navigator.userAgent.indexOf("MSIE 7.0")>0 ? 'IE7' : 'other version':同上;
navigator.appVersion.match(/8./i)=="8." ? 'IE8' : 'other version':在已知是IE浏览器的情况下,可以通过此方法判断是否是IE8;
navigator.userAgent.indexOf("MSIE 8.0")>0 ? 'IE8' : 'other version':同上。
3、JS获取浏览器信息
浏览器代码名称:navigator.appCodeName
浏览器名称:navigator.appName
浏览器版本号:navigator.appVersion
对java的支持:navigator.javaEnabled()
MIME类型(数组):navigator.mimeTypes
系统平台:navigator.platform
插件(数组):navigator.plugins
用户代理:navigator.userAgent
DEMO:
Js代码
<script language="JavaScript">
<!--
function getOs()
{
var OsObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox";
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino";
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko";
}
}
alert("您的浏览器类型为:"+getOs());
-->
</script>
4. 怎样用JS判断浏览器是火狐还是IE
使用navigator.userAgent来判断浏来览器类型自。
varisIE=navigator.userAgent.toUpperCase().indexOf("MSIE")?true:false;//判断是否是IE浏览器
varisFirefox=navigator.userAgent.toUpperCase().indexOf("FIREFOX")?true:false;//是否是火狐浏览器
补充:
userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。不同浏览器的请求都不一样,IE中带有MSIE,火狐带有特殊字符FireFox
5. js怎么写提示用户升级浏览器的代码
判断当前浏览器的版本,如果是IE较低版本,就跳转到一个提示浏览器升级的页面专。
直接用js体验不好,属也不好看。
具体的代码
if((!to3d())||document.documentMode==10||document.documentMode==11)
{
window.location="../error.html";
}
这段代码检测了浏览器是不是支持3d这个属性,然后检测了是不是IE10和IE11。然后跳转到另外一个网页。你也可以直接简单粗暴的document.documentMode <11,就可以屏蔽版本低于IE11的浏览器了。
不用担心其他的如FireFox或者Chrome,因为这段代码在这两个浏览器下是没有这个属性的。
6. JS如何获取浏览器版本信息
方法如下:
1、写一个js获取userAgent属性的html文件,文件内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
alert(window.navigator.userAgent);
</script>
</head>
<body>
<h1>测试浏览器类型</h1>
</body>
</html>
Version/后面紧跟的5.1.7为Safari浏览器当前版本