js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
2023-09-11 14:16:36 时间
因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了
1
2
3
4
5
6
|
function isIE() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window) return true ; else return false ; } |
第一种,只区分浏览器,不考虑版本
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) {
return "Opera"
}; //判断是否Opera浏览器
if (userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判断是否Firefox浏览器
if (userAgent.indexOf("Chrome") > -1){
return "Chrome";
}
if (userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判断是否IE浏览器
}
//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
alert("我是 IE");
}
if ("FF" == mb) {
alert("我是 Firefox");
}
if ("Chrome" == mb) {
alert("我是 Chrome");
}
if ("Opera" == mb) {
alert("我是 Opera");
}
if ("Safari" == mb) {
alert("我是 Safari");
}
第二种,区分浏览器,并考虑IE5.5 6 7 8
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
if (isIE) {
var IE5 = IE55 = IE6 = IE7 = IE8 = false;
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
if (IE55) {
return "IE55";
}
if (IE6) {
return "IE6";
}
if (IE7) {
return "IE7";
}
if (IE8) {
return "IE8";
}
}//isIE end
if (isFF) {
return "FF";
}
if (isOpera) {
return "Opera";
}
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
alert("我是 Opera");
}
if (myBrowser() == "Safari") {
alert("我是 Safari");
}
if (myBrowser() == "IE55") {
alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
alert("我是 IE6");
}
if (myBrowser() == "IE7") {
alert("我是 IE7");
}
if (myBrowser() == "IE8") {
alert("我是 IE8");
}
下面给出一个判断当前浏览器是IE的JS代码.
原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。
相关文章
- 第三节.vue.js属性与方法
- h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
- JS检测,禁用浏览器开发者工具之6大方法探讨
- Cocos2d-JS键盘事件
- 【JS】js创建Object对象和构造函数的多种方法(综合示例)
- 【Vue/js】Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子)
- 爬虫之JS的解析确定js的位置
- 《Node.js区块链开发》——1.1 加密货币简史
- GET到新技能,SharpCEF,C#和JS的互相调用
- 【HarmonyOS】【JS】鸿蒙Js camera怎么拍照并使用image显示出来
- 利用Chrome插件向指定页面植入js,劫持 XSS
- JS模式:jq中简单的模式--》采摘自js设计(tomxu_version)
- js 保留两位小数,Js四舍五入,JavaScript Math四舍五入
- base.js,通用js方法,Js方法封装
- js回调函数
- 纯js省市区三级联动
- 原生JS无缝轮播图
- 前后端加密解密 【JS加密模块(md5 、 crypto 、 crypto-js、jsencrypt) python RSA加密解密(pycryptodome )模块安装与使用】
- JS 获取URL参数
- [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件
- [js高手之路] vue系列教程 - 组件定义与使用上部(7)
- js正则匹配html标签中的style样式和img标签
- js队列的实现问题
- 最新版chrome浏览器安装Chrome插件时出现"CRX-HEADER-INVALID"解决方法
- js中找string中重复项最多的字符个数
- 【cocos2d-js官方文档】五、Cocos2d-JS v3.0的新Action API
- JS对象深入剖析