JavaScript常用检测脚本
封面图
•
2026-01-17
•
JavaScript
254
0
0
0
JavaScript 常用的检测脚本通常用于检测浏览器特性、用户代理、设备信息、功能支持等。以下是一些常见的 JavaScript 检测脚本示例,适用于不同场景: --- ## 一、检测浏览器类型和版本 ```javascript // 检测浏览器名称 function getBrowser() { var ua = navigator.userAgent; if (ua.indexOf("Firefox") > -1) return "Firefox"; if (ua.indexOf("Chrome") > -1) return "Chrome"; if (ua.indexOf("Safari") > -1) return "Safari"; if (ua.indexOf("Edg") > -1) return "Edge"; if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) return "IE"; return "Unknown Browser"; } // 检测浏览器版本 function getBrowserVersion() { var ua = navigator.userAgent; var version = "Unknown"; if (ua.indexOf("Firefox") > -1) { version = ua.match(/Firefox\/(\d+)/)[1]; } else if (ua.indexOf("Chrome") > -1) { version = ua.match(/Chrome\/(\d+)/)[1]; } else if (ua.indexOf("Safari") > -1) { version = ua.match(/Version\/(\d+)/)[1]; } else if (ua.indexOf("Edg") > -1) { version = ua.match(/Edg\/(\d+)/)[1]; } else if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) { version = ua.match(/MSIE (\d+)|rv:(\d+)/)[1] || ua.match(/Trident\/.*rv:(\d+)/)[1]; } return version; } ``` --- ## 二、检测操作系统 ```javascript function getOS() { var ua = navigator.userAgent; if (ua.indexOf("Win") > -1) return "Windows"; if (ua.indexOf("Mac") > -1) return "Mac OS"; if (ua.indexOf("Linux") > -1) return "Linux"; if (ua.indexOf("Android") > -1) return "Android"; if (ua.indexOf("iPhone") > -1 || ua.indexOf("iPad") > -1) return "iOS"; return "Unknown OS"; } ``` --- ## 三、检测是否为移动设备 ```javascript function isMobileDevice() { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); } ``` --- ## 四、检测是否支持 HTML5 特性(如 Canvas、WebGL) ```javascript function supportsCanvas() { return !!window.CanvasRenderingContext2D; } function supportsWebGL() { var canvas = document.createElement('canvas'); return !!(window.WebGLRenderingContext && canvas.getContext('webgl')); } ``` --- ## 五、检测是否启用 JavaScript ```javascript <script> // 如果页面中没有执行任何 JS,说明 JS 被禁用 document.write('<p>JavaScript 已启用。</p>'); </script> <noscript> <p>JavaScript 被禁用,请启用后重试。</p> </noscript> ``` --- ## 六、检测网络连接状态(例如:是否在线) ```javascript function isOnline() { return window.navigator.onLine; } // 监听网络状态变化 window.addEventListener('online', function () { console.log('网络已连接'); }); window.addEventListener('offline', function () { console.log('网络已断开'); }); ``` --- ## 七、检测浏览器是否支持 localStorage ```javascript function supportsLocalStorage() { try { return 'localStorage' in window && window.localStorage !== null; } catch (e) { return false; } } ``` --- ## 八、检测是否为移动端或桌面端 ```javascript function isDesktop() { return !isMobileDevice(); } ``` --- ## 九、检测用户语言 ```javascript function getUserLanguage() { return navigator.language || navigator.userLanguage; } ``` --- ## 十、检测是否支持 ES6/ES2015+ ```javascript function supportsES6() { return typeof Promise !== 'undefined' && typeof Symbol !== 'undefined' && typeof Array.from !== 'undefined'; } ``` --- ## 十一、检测是否支持 Web Workers ```javascript function supportsWebWorkers() { return typeof Worker !== 'undefined'; } ``` --- ## 十二、检测是否支持 Fetch API ```javascript function supportsFetch() { return 'fetch' in window; } ``` --- ## 十三、检测是否支持 IndexedDB ```javascript function supportsIndexedDB() { return 'indexedDB' in window; } ``` --- ## 十四、检测是否支持拖拽事件 ```javascript function supportsDragEvents() { return 'draggable' in document.createElement('div'); } ``` --- ## 十五、检测是否支持 WebGL ```javascript function supportsWebGL() { var canvas = document.createElement('canvas'); return !!(window.WebGLRenderingContext && canvas.getContext('webgl')); } ``` --- 如果你有特定的检测需求(如检测某个库、功能、或者特定浏览器行为),可以告诉我,我可以为你定制更精确的检测脚本。 需要我将这些检测函数封装成一个对象或模块吗?
上一篇:
金融方面的做空是什么意思?
下一篇:
JavaScript常用检测脚本
标题录入,一次不能超过6条
留言
评论