【问题标题】:Detecting OS version in Javascript and redirecting检测 Javascript 中的操作系统版本并重定向
【发布时间】:2013-02-02 14:32:38
【问题描述】:

美好的一天

我做了一些研究,发现您可以使用以下 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? )

这是正确/最好的方法吗/我的代码可以工作吗?

谢谢

【问题讨论】:

  • else 后面还需要一个空格
  • 好的,谢谢...在代码不起作用时捡起它...谢谢!

标签: javascript jquery redirect mobile


【解决方案1】:

您的代码可以简化:

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

【讨论】:

    【解决方案2】:

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

    Detect Mobile Browsers JS

    【讨论】:

    • 检查浏览器而不是操作系统是否可靠?
    • 好吧,如果你在问题中提到的脚本足以完成你的工作,那就继续吧:)
    【解决方案3】:
    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
    

    【讨论】:

    • 感谢您的回答,但不确定在哪里/如何实施?我还在学习JS
    猜你喜欢
    • 2011-07-08
    • 1970-01-01
    • 2012-02-05
    • 2014-10-23
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多