【发布时间】:2010-01-29 10:15:23
【问题描述】:
执行此操作的标准、最可靠的方法是什么?当用户在我的网站上单击“下载”时,我需要重定向用户下载我的软件的 Mac 版本或 Windows 版本。
【问题讨论】:
标签: web detection operating-system
执行此操作的标准、最可靠的方法是什么?当用户在我的网站上单击“下载”时,我需要重定向用户下载我的软件的 Mac 版本或 Windows 版本。
【问题讨论】:
标签: web detection operating-system
在 Javascript 中:
http://www.quirksmode.org/js/detect.html
没有完美的方法,因为用户总是可以欺骗用户代理。
我会建议:
1) 自动重定向到带有链接的页面,或自动更新页面上带有“Download for Mac”或“Download for Windows”文字的页面上的链接,以便用户知道他们在点击之前得到了什么。
2) 仍然为用户提供下载其他版本的选项,以防您的检测在他们的情况下不起作用,或者如果他们想在远程机器上下载,然后再将其转移到另一台机器上。
【讨论】:
它很容易被欺骗,但是您可以通过检查用户代理字符串来做出很好的猜测。您可以使用 JavaScript 或服务器端语言执行此操作。
因为您可能会错误地检测到它,所以您应该在某处放置“想要 Mac OS X 版本”等。
【讨论】:
您想查看在 http 标头中找到的用户代理。
【讨论】:
不是 100% 可靠,但您可以从 HTTP 标头中的 user-agent string 推断出很多信息。
【讨论】:
您需要使用navigator.platform 或解析navigator.userAgent。 Example.
【讨论】: