终极合体
根据以上的条件判断获得的变量如下,我们可以把它们合并成一个对象输出 。这样就可以输出一个清晰的浏览器运行环境,后面想干嘛就干嘛了,多方便 。
本文重点探究方案的可行性,没有过多考虑到代码的优化,所以条件判断使用得有些多,如果有什么方法能优化下代码,减少条件判断,可以在下方评论提个建议哟 。
- system:系统
- systemVs:系统版本
- platform:平台
- engine:内核
- engineVs:内核版本
- supporter:载体
- supporterVs:载体版本
- shell:外壳
- shellVs:外壳版本
function BrowserType() { const ua = navigator.userAgent.toLowerCase(); const testUa = regexp => regexp.test(ua); const testVs = regexp => ua.match(regexp).toString().replace(/[^0-9|_.]/g, "").replace(/_/g, "."); // 接上以上if...else条件判断 // ...... // 获取到system、systemVs、platform、engine、engineVs、supporter、supporterVs、shell、shellVs return Object.assign({ engine, // webkit gecko presto trident engineVs, platform, // desktop mobile supporter, // chrome safari firefox opera iexplore edge supporterVs, system, // windows macos linux android ios systemVs }, shell === "none" ? {} : { shell, // wechat qq uc 360 2345 sougou liebao maxthon shellVs });}在控制台执行BrowserType(),该有的都出来了,哈哈!源码详情请戳这里,喜欢的可以点个赞支持下,谢谢 。

文章插图
结语写到最后总结得差不多了,后续如果我想起还有哪些判断浏览器运行环境终极方案遗漏的,会继续在这篇文章上补全,同时也希望各位朋友对文章里的要点进行补充或者提出自己的见解 。欢迎在下方进行评论或补充喔,喜欢的点个赞或收个藏,保证你在开发时用得上 。
关注公众号Uzero,更多前端小干货等着你喔!我是JowayYoung,喜欢分享前端技术和生活纪事,学习与生活不落下,每天进步一点点,与大家相伴成长
【详细判断浏览器运行环境】
推荐阅读
-
「狗狗」15岁女学生遭受校园霸凌,几度想要轻生,却被一只狗狗“拯救”
-
-
辽宋夏金|岳飞之子岳云的武器与李元霸的武器同名,是同一把武器吗?
-
闷泡面看电影|魔笛队友难留拜仁,英超豪门或成为接盘侠,年薪过千万
-
「小龙侃侃车」哈弗H6稳坐第一,奔驰GLC进入前十,2020年3月国内SUV销量榜来了
-
-
「」两栋带地下室设计的豪宅,客厅挑空+简欧风,打造现代轻奢生活
-
-
无马汽车宏光MINI电动车掀起人民抢订狂潮,24小时内订单破千
-
电子|人社部:在38个地市开展职业技能电子培训券试点工作
-
中国青年网|市值蒸发超500亿美元!扎克伯格终于扛不住了……
-
-
#传染病#助力百业复苏·健康在行动|国药乐仁堂为“抗疫”争分夺秒
-
-
聚富财经|25万亿美元的市场,即将成为下个“风口”?,仅次于美国
-
兵器次元作战模式独一无二,歼20迎来真正挑战,美国造出六代机雏形
-
主力资金|主力资金偷偷潜入!今日主力资金流入前20只股(名单)最高7.6亿
-
-
问董秘|截止2020年6月15日收盘股东人数为多少?谢谢,投资者提问:请问贵公司
-
『周星驰』靠一个角色活一辈子的三位明星,他叫周星驰道歉,被观众厌烦