如何检测Mac OS X版本在JavaScript中 [英] How to Detect Mac OS X Version in JavaScript

查看:657
本文介绍了如何检测Mac OS X版本在JavaScript中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已到处冲刷在互联网上对如何检测操作系统和它的版本。我已经找到了如何做到这一点窗户,(见下文code),而现在我希望它为Mac工作了。

视窗检测code(完美的作品!):

  //操作系统检测
VAR _os_ =(函数(){
变种的userAgent = navigator.userAgent.toLowerCase();
返回{
    isWin2K:/视窗NT 5.0 / .TEST(的userAgent)
    isXP:/视窗NT 5.1 / .TEST(的userAgent)
    isVist​​a:/窗口nt 6.0 / .TEST(的userAgent)
    isWin7:/窗口nt 6.1 / .TEST(的userAgent)
};
}());//获取OS的名称简写VAR OS;
如果(_os_.isWin2K){
OS =章Windows 2000;
}如果(_os_.isXP){
OS =Windows XP中;
}如果(_os_.isVist​​a){
OS =的Windows Vista
}如果(_os_.isWin7){
OS =Windows 7的;
}警报(OS);

所以,我想知道是否有可能做同样的事情在Mac OS X一样,

  ...
 返回{
     isMac10.5:/ Mac OSX版10.5 / .TEST(的userAgent)
     isMac10.6:/ Mac OSX版10.6 / .TEST(的userAgent)
     isMac10.7:/ Mac OSX版10.7 / .TEST(的userAgent)
     isMac10.8:/ Mac OSX版10.8 / .TEST(的userAgent)
 }; ....
 如果(_os_.isMac10.5){
 OS =的Mac OS X Leopard的;
 } 等等,等等......

任何想法?任何帮助将是非常美联社preciated!


解决方案

  {回报
     isMac105:/ Mac OS X的10_5 / .TEST(的userAgent)
     isMac106:/ Mac OS X的10_6 / .TEST(的userAgent)
     isMac107:/ Mac OS X的10_7 / .TEST(的userAgent)
     isMac108:/ Mac OS X的10_8 / .TEST(的userAgent)
 };

用户代理的Mac例如

的Mozilla / 5.0(Macintosh上,英特尔的Mac OS X 10_8_1)为AppleWebKit / 536.25(KHTML,例如Gecko)版本/ 6.0的Safari / 536.25

Macintosh的; U;英特尔的Mac OS X 10_5_8; RU)为AppleWebKit / 533.18.1(KHTML,例如Gecko)版本/ 5.0.2 Safari浏览器/ 533.18.5

I have scoured everywhere on the internet as to how to detect the OS and it's version. I have found out how to do it for windows, (see code below), and now I want it to work for Mac too.

Windows detection code (works perfectly!):

// OS detection
var _os_ = (function(){
var userAgent = navigator.userAgent.toLowerCase();
return {
    isWin2K: /windows nt 5.0/.test(userAgent),
    isXP: /windows nt 5.1/.test(userAgent),
    isVista: /windows nt 6.0/.test(userAgent),
    isWin7: /windows nt 6.1/.test(userAgent),
};
}());

// get OS shorthand names

var OS;
if(_os_.isWin2K){
OS = "Windows 2000";
}

if(_os_.isXP){
OS = "Windows XP";
}

if(_os_.isVista){
OS = "Windows Vista";
}

if(_os_.isWin7){
OS = "Windows 7";
}

alert(OS);

So I'm wondering if it's possible to do this SAME thing for Mac OS X. Like,

 ...
 return {
     isMac10.5: /mac osx 10.5/.test(userAgent),
     isMac10.6: /mac osx 10.6/.test(userAgent),
     isMac10.7: /mac osx 10.7/.test(userAgent),
     isMac10.8: /mac osx 10.8/.test(userAgent),
 };

 ....
 if(_os_.isMac10.5){
 OS = "Mac OS X Leopard";
 }

 etc., etc...

Any ideas? Any help would be much appreciated!

解决方案

return {
     isMac105: /Mac OS X 10_5/.test(userAgent),
     isMac106: /Mac OS X 10_6/.test(userAgent),
     isMac107: /Mac OS X 10_7/.test(userAgent),
     isMac108: /Mac OS X 10_8/.test(userAgent),
 };

useragent for mac e.g.

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_1) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25

Macintosh; U; Intel Mac OS X 10_5_8; ru) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5

这篇关于如何检测Mac OS X版本在JavaScript中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆