终极合体
根据以上的条件判断获得的变量如下,我们可以把它们合并成一个对象输出 。这样就可以输出一个清晰的浏览器运行环境,后面想干嘛就干嘛了,多方便 。
本文重点探究方案的可行性,没有过多考虑到代码的优化,所以条件判断使用得有些多,如果有什么方法能优化下代码,减少条件判断,可以在下方评论提个建议哟 。
- 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,喜欢分享前端技术和生活纪事,学习与生活不落下,每天进步一点点,与大家相伴成长
【详细判断浏览器运行环境】
推荐阅读
-
父姓+母姓的起名方式真的好吗?首批尝试者已成年,处境很尴尬
-
小娱乐大智慧|而且当了爸爸,四十岁的他现在很圆满,明道承认已经结婚生子
-
-
-
巨无霸@全球最大的烟台造“巨无霸”试航!北海救助局全力保障拖航工作
-
叶子股评|新创业板低价股掀涨停潮,天山童姥隆重出山八连板
-
多数股权|削减成本?WeWork出售中国业务多数股权
-
-
巴塞罗那|该走不走,不该卖却要卖,绝对主力再次被兜售,巴萨重建是搞笑?
-
小丑妆|明星化“小丑妆”,蔡徐坤妖孽,杨紫呆萌,最逼真的是杨颖!
-
新鲜事儿|比王思聪低调富二代曝光?苏宁少东家28岁掌管国米,是章泽天校友
-
冬季自制2种“发酵肥”,春天给花草“喂1勺”,越长越有劲
-
把不满说出来|降级他们几个概率最大,中超前瞻:预测冠军只能二选一
-
「股市」一大好现象开始出现,A股要“扬眉吐气” 了?
-
前瞻产业研究院|市场规模突破2000亿元,2020年中国锂电池行业市场分析:产量、出货量逐年上升
-
【南柯影视解析|信用卡被扣年费怎么办?做好3件事可以退回来!很多人不知道】
-
新华网客户端@5G+如何改变数字阅读行业,新基建提速之下
-
林志颖老婆携子出游,14岁Kimi侧脸曝光神似爸,体重被指胖到 170
-
穿衣搭配|上港终于完成阵容瘦身,7大王牌正式离队,三人曾被莱科寄予厚望
-
钱江晚报|黄金劫匪落网!曾扛着摩托车在山上狂奔,四天三夜啃了半个生南瓜