如何在web中检测用户操作系统/浏览器信息(使用php,js,html)
How to detect the user OS/browser info in web(using php, js, html)?
我们制作了两个版本安装包,win-32.msi和win-64.msi,并将它们放在我们的网站供用户下载。
但我只想使用一个网络链接。当用户使用Windows-32位操作系统单击链接时,他将获得win-32.msi,使用Windows-64位操作系统将获得win-64.msi。
我们在Web代码中使用php,js,html,在apache中设置。
我们之前使用过一种方法:browsercap.ini。但是我们发现win10中的IE8-64位浏览器给了我们win8-32位信息,这是错误的。
那么还有其他解决方案吗?
在 Javascript 中,您可以使用 navigator 对象来获取有关本地系统的一些信息:
console.log(navigator.appVersion);
在我的系统上,这会产生:
5.0(麦金塔;Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36
然后,您可以解析此内容以确定将用户发送到何处。
作为替代方案,您也可以通过使用mod_rewrite
并查看HTTP_USER_AGENT
变量来在Apache
中执行此操作。有关此内容的详细信息,请参阅mod_rewrite文档。
这样的事情可以工作:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (WOW64|OtherMatch)
RewriteRule ^(/path/to/dl-packages)/win-32.msi $1/win-64.msi [R,L]
这更多地是为了显示基本功能,您可能希望微调应与 64 位客户端匹配的(WOW64|OtherMatch)
字符串,不确定WOW64
是否匹配所有 Windows 64 位浏览器。此外,我将URL
与RewriteRule
中的win-32.msi
包相匹配,这将是默认包,如果 64 位客户端尝试获取它,它将被重定向到 64 位版本。根据您的站点,您可能希望以不同的方式处理此问题。
- 使用html2canvas获取基本信息
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 如何通过解析类信息来使用jQuery创建类
- 如何使用ember.js在操作中传递当前上下文中目标旁边的信息
- AEM(cq5)使用组件内的信息
- 使用javascript后台脚本获取Yotutube频道信息
- 获取html表单信息并使用ajax将其推送到PHP
- 如何使用其他地方指定的访问信息访问嵌套的json对象,而不使用eval或迭代
- 使用node-js上传文件,并将表单信息存储在数据库(mysql)中
- 如何使用javascript为预览表发布信息
- 使用javascript/Jquery获取HTML5文件的详细信息
- 如何使用API从多个IMDB ID获取电影信息
- 使用Javascript从Strobe Media Playback获取统计信息
- 使用 jQuery 从运行 MySQL 的 PHP 脚本返回信息
- 如何使用与单个查找字段相关的信息填充字段
- 打开图形:Java脚本:必须使用活动访问令牌来查询有关当前用户的信息
- 如何创建一个脚本,该脚本给定网站列表,它使用其搜索功能来获取信息
- 谷歌地图V3 - 使用信息窗口绘制矩形
- 在谷歌地图v3 API中使用信息窗口进行聚类标记
- 在后台提交表单并在后台使用信息