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

一、Navigator 

属性:

1)appcodeName  返回浏览器代码名

2)appminorVersion  返回浏览器次级版本

3)appname  返回浏览器名称

4)browserLanguage  返回当前浏览器语言

5)cookieEnabled   返回当前浏览器是否启用cookie的布尔值

6)cpuClass   返回浏览器系统的 CPU 等级。

7)onLine  返回浏览器是否处于脱机模式的布尔值

 8)platForm  返回运行浏览器的操作平台

9)systemlanguage   返回OS使用的默认语言

10)userAgent   返回由客户机发送服务器的user-agent头部的值

11)userLanguage   返回OS的自然语言设置

二、为什么不能直接使用appname属性来获取浏览器名称

1、通过在不同的浏览器测试弹出navigator.appname  发现谷歌、火狐还有一些浏览器弹出的是“”Netscape"

网上答案是:

appName 不是内核名称,根据w3c html5规范,navigator对象的appName 要么返回Netscape,要么返回浏览器的全名,这是为了兼容性考虑的。

三、判断是什么浏览器的方法

复制:https://blog.csdn.net/AinUser/article/details/78994346

 

复制代码
<pre name="code" class="javascript">;

(function($){    

 $.extend({

    NV.name=!-[1,]?'ie':    
    (UA.indexOf("firefox")>0)?'firefox':    
    (UA.indexOf("chrome")>0)?'chrome':    
    window.opera?'opera':    
    window.openDatabase?'safari':    
'unkonw';    
}catch(e){};    
try    
{    
    NV.version=(NV.name=='ie')?UA.match(/msie ([\d.]+)/)[1]:    
    (NV.name=='firefox')?UA.match(/firefox\/([\d.]+)/)[1]:    
    (NV.name=='chrome')?UA.match(/chrome\/([\d.]+)/)[1]:    
    (NV.name=='opera')?UA.match(/opera.([\d.]+)/)[1]:    
    (NV.name=='safari')?UA.match(/version\/([\d.]+)/)[1]:    
'0';    
}catch(e){};    
try    
{    
    NV.shell=(UA.indexOf('360ee')>-1)?'360极速浏览器':    
    (UA.indexOf('360se')>-1)?'360安全浏览器':    
    (UA.indexOf('se')>-1)?'搜狗浏览器':    
    (UA.indexOf('aoyou')>-1)?'遨游浏览器':    
    (UA.indexOf('theworld')>-1)?'世界之窗浏览器':    
    (UA.indexOf('worldchrome')>-1)?'世界之窗极速浏览器':    
    (UA.indexOf('greenbrowser')>-1)?'绿色浏览器':    
    (UA.indexOf('qqbrowser')>-1)?'QQ浏览器':    
    (UA.indexOf('baidu')>-1)?'百度浏览器':    
'未知或无壳';    
}catch(e){}    
switch(name)    
            {    
case 'ua':    
case 'UA':br=UA;break;    
case 'name':br=NV.name;break;    
case 'version':br=NV.version;break;    
case 'shell':br=NV.shell;break;    
default:br=NV.name;    
            }    
return br;    
        }    
    });    
})(jQuery);
复制代码

 

posted @   凉面好好吃  阅读(160)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示