在Javascript中检测操作系统版本并重定向

美好的一天

我做了一些研究,发现你可以使用以下javascript来检测用户操作系统,无论是Android,iOS,Windows等:

var OSName="Unknown OS"; if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows"; if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS"; if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX"; if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux"; document.write('Your OS: '+OSName); 

现在我想做的是根据他的操作系统将用户重新定位到苹果Appstore或谷歌Play商店,如下所示:

HTML:

 Download our App 

以及相关的JS

 if (OSName="MacOS" ){ $("#redirect").attr("href", "http://www.itunes.com/myapp") } elseif (OSName="Linux"){ $("#redirect").attr("href", "http://www.play.google.com/") } (Linux is for Android right? ) 

这是正确/最好的方式吗/我的代码能运作吗?

谢谢

您的代码可以简化:

 var playStoreUrl = "http://www.play.google.com/", appStoreUrl = "http://www.itunes.com/myapp", platform = navigator.platform; if (/mac/i.test(platform)) $("#redirect").attr("href", appStoreUrl); else if (/linux/i.test(platform)) $("#redirect").attr("href", playStoreUrl); else // Handle the case where the OS is neither MacOS nor Linux 

是的它会工作..你也可以使用这个库。

检测移动浏览器JS

 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), }; 

例如,用于Mac的用户

 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