<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <title>判断是什么浏览器</title>
<link rel="stylesheet" href="base.css"> </head> <body>
<div class="box">
我这里是按钮
</div> </body>
</html>
<script>
var userAgent = navigator.userAgent; // 取得浏览器的userAgent字符串
console.log(userAgent) var isFirefox = navigator.userAgent.indexOf('Firefox') > -1 // 是否是火狐 ,火狐内核Gecko
console.log('火狐'+ isFirefox) // 返回 true 则是 ,false 则不是 var isWebKit = navigator.userAgent.indexOf('WebKit') > -1 // 是否是WebKit 内核
console.log('谷歌内核'+ isWebKit) // 返回 true 则是,false 则不是 var isChrome = navigator.userAgent.indexOf('Chrome') > -1 // 是否是谷歌
console.log('谷歌'+ isChrome) // 返回 true 则是 ,false 则不是 var isOpera = navigator.userAgent.indexOf('Opera') > -1 // 是否是opera , opera内核 Presto
console.log('Opera'+ isOpera) // 返回 true 则是 ,false 则不是 var isTrident = navigator.userAgent.indexOf('Trident') > -1 // 是否是IE内核
console.log('IE内核'+ isTrident) // 返回 true 则是 ,false 则不是 var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera
console.log('IE '+ isIE) //判断是否IE浏览器
// 因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写
var isIeL = !!window.ActiveXObject || "ActiveXObject" in window
console.log('IELLQ '+ isIeL) //判断是否IE浏览器 var isIE9 = navigator.userAgent.indexOf("MSIE 9.0")>0
console.log('IE999 '+ isIE9) //判断是否IE9 ;如果是其他IE版本,则 MSIE 7.0 MSIE 8.0
// 判断是否为移动端
var browser = {
versions: function() {
var u = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Firefox') > -1, //火狐内核Gecko
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android
iPhone: u.indexOf('iPhone') > -1 , //iPhone
iPad: u.indexOf('iPad') > -1, //iPad
webApp: u.indexOf('Safari') > -1 //Safari
};
}()
}
var isPhone = browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad
console.log('是否为移动端' +isPhone ) // JS判断浏览器是否是IE9以下,处理可能遇到的兼容性问题
if(navigator.appName == "Microsoft Internet Explorer"&&parseInt(navigator.appVersion.split(";")[1].replace(/[ ]/g, "").replace("MSIE",""))<9){
console.log("您的浏览器版本过低,请使用IE9及以上版本");
}
</script>

js 判断是什么浏览器、是否为谷歌浏览器的更多相关文章

  1. H5案例分享:使用JS判断客户端、浏览器、操作系统类型

    使用JS判断客户端.浏览器.操作系统类型 一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Androi ...

  2. JS判断是否微信浏览器

    JS判断是否微信浏览器 function isWeixinBrowser(){ var ua = navigator.userAgent.toLowerCase(); return (/microme ...

  3. JS判断不同的浏览器,不同的浏览器版本

    JS判断不同的浏览器,不同的浏览器版本

  4. 用js判断操作系统和浏览器类型

    判断操作系统和浏览器的js代码 navigator.userAgent:userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值.    navigator.pla ...

  5. js判断用户的浏览器设备是移动端还是pc端

    最近做的一个网站页面中需要根据用户的访问设备的不同来显示不同的页面样式,主要是判断移动设备还是电脑浏览器访问的. 下面给出js判断处理代码,以作参考. <script type="te ...

  6. JS判断客户端、浏览器、操作系统

    一.JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端. 方法一: var u = navigator.us ...

  7. 使用JS判断客户端、浏览器、操作系统类型

    一.JS判断客户端类型 JS判断客户端是否是iOS或者Android手机移动端 通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端. 核心代码如下: 方法一: &l ...

  8. js判断操作系统与浏览器

    摘要: 对于前端开发我们最重要的工作就是兼容性,系统的兼容性,浏览器的兼容性等等.今天分享一个我在项目中封装的判断操作系统与浏览器的方法. 操作系统: var os = (function() { v ...

  9. js 判断是什么浏览器加载页面

    一.Navigator 属性: 1)appcodeName  返回浏览器代码名 2)appminorVersion  返回浏览器次级版本 3)appname  返回浏览器名称 4)browserLan ...

随机推荐

  1. 字符串函数 replace() 方法妙用

    alert('10 12 14 16'.replace(/d+/g,function(match){ return parseInt(match,10) > 10 ? '*' : match; ...

  2. NITACMOJ144稳定串

    点我>>题目链接 稳定串 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java ...

  3. HDU 3501【欧拉函数拓展】

    欧拉函数 欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) . 通式:φ(x)=x*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)-..(1- ...

  4. 异步编程(AsyncCallback委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)

    http://www.cnblogs.com/panjun-Donet/archive/2009/03/03/1284700.html 让我们来看看同步异步的区别: 同步方法调用在程序继续执行之前需要 ...

  5. bzoj 4032: [HEOI2015]最短不公共子串【dp+SAM】

    第一.二问: 就是最小的最长公共长度+1,设f[i][j]为a匹配到i,b匹配到j,第一问的转移是f[i][j]=(a[i]==b[j]?f[i-1][j-1]+1:0),第二问的转移是f[i][j] ...

  6. 01 | Jewels and Stones

    Question You're given strings J representing the types of stones that are jewels, and S representing ...

  7. github网页样式

  8. Gym - 101810B ACM International Collegiate Programming Contest (2018)

    bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...

  9. bzoj2818: Gcd懵逼乌斯反演

    由于是单组数据,强行不分块O(n)过 线性筛部分非常神奇,用了一个奇妙的推导(懒得写了) #include <bits/stdc++.h> using namespace std; ],f ...

  10. 为VS中的括号添加虚线

    在VS中的扩展和更新中 安装Indent Guides插件,即可实现该功能.