如何检测用户在网站上使用的是 Mac 还是 Windows
标准、最可靠的方法是什么?当用户在我的网站上单击“下载”时,我需要重定向用户下载我的软件的 Mac 版本或 Windows 版本。
What's the standard, most reliable way of doing this? I need to redirect a user to download the Mac version or the Windows version of my software when they click "Download" on my website.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在 Javascript 中:
http://www.quirksmode.org/js/detect.html
否方法是完美的,因为用户总是可以欺骗用户代理。
我建议:
1) 自动重定向到带有链接的页面,或者自动更新页面上的链接,其中包含“下载 Mac 版”或“下载 Windows 版”文本,以便用户知道 他们在点击之前得到了什么。
2) 仍然为用户提供下载其他版本的选项,以防您的检测在他们的情况下不起作用,或者如果他们想要在远程计算机上下载,并稍后将其传输到另一台计算机。
In Javascript:
http://www.quirksmode.org/js/detect.html
No method is perfect, because the user can always spoof the user-agent.
I would recommend that:
1) Auto-redirect to a page with the link, or auto update the link on a page with text saying "Download for Mac" or "Download for Windows", so that the user knows what they are getting before they click.
2) Still give the user the option of downloading the other version, in case your detection does not work in their case, or if they want to download on a remote machine, and transfer it to a different machine later.
它很容易被欺骗,但您可以通过检查用户代理字符串来进行很好的猜测。您可以使用 JavaScript 或服务器端语言来执行此操作。
因为您可能会错误地检测到它,所以您应该在某个地方放置“想要 Mac OS X 版本”等。
It is easily spoofed, but you can take a pretty good guess by examing the user agent string. You can do this in JavaScript or your server side language.
Because you may detect it incorrectly, you should place somewhere a "Want the Mac OS X version" etc somewhere.
您想要查看在 http 标头中找到的用户代理。
用户代理
You want to look at the user agent found within the http header.
User Agent
不是 100% 可靠,但您可以从 用户代理字符串 中推断出很多信息HTTP 标头。
Not 100% reliable, but you can infer much from a user-agent string in the HTTP header.
您需要使用
navigator.platform
或解析navigator.userAgent
。 示例。You need to use
navigator.platform
or parsenavigator.userAgent
. Example.