前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >修复 Valine 错误判断 macOS 版本号小数点

修复 Valine 错误判断 macOS 版本号小数点

作者头像
2Broear
发布2024-03-12 10:35:11
830
发布2024-03-12 10:35:11
举报
文章被收录于专栏:2B博客2B博客

错误的版本号

上次修改 macos 号判断后偶然发现了一个bug,博主 leanwhite 的 macos 系统号在后台 ua 中显示是 10.15,大多数 macos 都是两个小数点(1.2.3)储存为 1_2_3 形式,但如果版本号只有一个小数点(1.2)就会只取小数点前的数字,这样会存在版本号输出错误。移步 valine.js 源码中看了下判断句,发现了些问题。

一开始还以为是之前修改win10版本号去小数点函数冲突了,后面看了下是个单独函数不存在互相影响,然后把valine源代码换成了官方调试,结果bug依然存在。

解决方案

定位到 valine.js 中的 "Mac OS":function(){ ... } 函数修改如下,

代码语言:javascript
复制
    "Mac OS": function() {
    let res = e.replace(/^.*Mac OS X ([\d_]+).*$/, "$1").replace(/_/g, "."),  //原生判断
        int = e.match(/\Mac OS X ([\s\S]*?)\)/)[1];  //版本号字符串
    !int.match(/_/) ? res=int.match(/([\s\S]*?)\;/)[1] : res;  //判断存在“_”符号则单独匹配存在的小数点
    return res
}

注意,新版 valine 已取消函数形式判断,见 macOS:e.replace(/^.*Mac OS X ([\d_]+).*/,"

以上,有问题评论区留言。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-06-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 错误的版本号
    • 解决方案
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
    http://www.vxiaotou.com