浏览器版本检测接口封装
最近在做公司PC端低版本浏览器兼容性问题,现将检测浏览器版本号接口封装一下,和大家一起分享交流下。
browserCheck.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>浏览器版本检测接口封装</title> <script src="browserCheck.js"></script> <script> window.onload = function () { top.CY.BrowserCheck.getBrowserInfo({ IE: 10, Firefox: 10, Chrome: 21, SafariWindow: 500, Safari1Mac: 500, }, function (results) { if (results) { alert('您的浏览器版本太低!'); } else { alert('您的浏览器版本正常!'); } }); } </script> </head> <body> </body> </html>
browserCheck.js
if (!window.CY) window.CY = {}; var CY = window.CY; CY.BrowserCheck = { getBrowserInfo: function (obj, callback) { var agent = navigator.userAgent.toLowerCase(); //判断是否是Windows操作系统 var isWin = (navigator.platform == "Win32") || (navigator.platform == "Win64") || (navigator.platform == "Windows"); //判断是否是Mac操作系统 var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel"); //获取当前浏览器版本号 var version_ie = (agent.match(/msie [\d.]+;/gi) + "").replace(/[^0-9.]/ig, "").split(".")[0]; var version_ff = (agent.match(/firefox\/[\d.]+/gi) + "").replace(/[^0-9.]/ig, "").split(".")[0]; var version_chrome = (agent.match(/chrome\/[\d.]+/gi) + "").replace(/[^0-9.]/ig, "").split(".")[0]; var version_saf = (agent.match(/safari\/[\d.]+/gi) + "").replace(/[^0-9.]/ig, "").split(".")[0]; var flag = false; if (isWin) { //IE if (agent.indexOf("msie") > 0 && version_ie < obj.IE) { flag = true; } //firefox if (agent.indexOf("firefox") > 0 && version_ff < obj.Firefox) { flag = true; } //Chrome if (agent.indexOf("chrome") > 0 && version_chrome < obj.Chrome) { flag = true; } //Safari if (agent.indexOf("safari") > 0 && agent.indexOf("chrome") < 0 && version_saf < obj.SafariWindow) { flag = true; } } if (isMac) { //Safari if (agent.indexOf("safari") > 0 && version_saf < obj.Safari1Mac) { flag = true; } } flag == true ? callback(true) : callback(false) } }
代码DEMO: 链接: http://pan.baidu.com/s/1eRSarlw 密码: 87r8
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?