2013-02-18 85 views
1

好日子檢測操作系統版本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

回答

5

您的代碼可以簡化爲:

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

1
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

3

是的,它會工作..你也可以使用這個庫。

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