检测操作系统版本JavaScript和重定向

问题描述:

好日子检测操作系统版本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:

<a href="" id="redirect">Download our App</a> 

和相关的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?) 

这是正确的做这件事的/最好的方法/将我的代码工作的?

谢谢

+0

您还需要其他 – mplungjan 2013-02-18 07:58:51

+0

好,谢谢后的空间......拿起,截至当代码没有工作...谢谢! – DextrousDave 2013-02-18 08:22:57

您的代码可以简化为:

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 
+0

谢谢。伟大的替代品 – DextrousDave 2013-02-18 12:16:09

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 
+0

谢谢您的回答,但不确定在哪里/如何实施?我还在学习JS – DextrousDave 2013-02-18 07:56:45

+0

最受欢迎的兄弟... :) – 2013-02-18 07:57:49

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

Detect Mobile Browsers JS

+0

谢谢你的回答。你会推荐哪个? – DextrousDave 2013-02-18 07:55:13

+0

正在检查浏览器而不是操作系统可靠吗? – DextrousDave 2013-02-18 07:57:42

+0

好吧,如果您在问题中提到的脚本足以完成您的工作,请继续操作:) – 2013-02-18 08:19:14