js获取客户端操作系统

发布于 2022-09-14 11:31:27 字数 3200 浏览 14 评论 0

一个项目中碰到的问题,页面标题和导航的字体在macosx下没有,因为不同的字体,相同的font-size,显示的大小也不一样,所以导致macosx下错位。想到的解决办法就是通过js的navigator.platform获取客户端的操作系统,然对针对macosx单独加个class,以下这段代码是在网上找的,其实就是个类似系统的对照表。

JS:

  1. function detectOS() {  
  2.     var sUserAgent = navigator.userAgent;  
  3.     var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");  
  4.     var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");  
  5.     if (isMac) return "Mac";  
  6.     var isUnix = (navigator.platform == "X11") && !isWin && !isMac;  
  7.     if (isUnix) return "Unix";  
  8.     var isLinux = (String(navigator.platform).indexOf("Linux") > -1);  
  9.     if (isLinux) return "Linux";  
  10.     if (isWin) {  
  11.         var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;  
  12.         if (isWin2K) return "Win2000";  
  13.         var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;  
  14.         if (isWinXP) return "WinXP";  
  15.         var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;  
  16.         if (isWin2003) return "Win2003";  
  17.         var isWinVista= sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;  
  18.         if (isWinVista) return "WinVista";  
  19.         var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;  
  20.         if (isWin7) return "Win7";  
  21.     }  
  22.     return "other";  
  23. }  
  24.    
  25. document.writeln("您的操作系统是:" + detectOS());

复制代码转:zjhsd2007

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文