我注意到在原生iPhone Facebook应用程序中,人们可以直接打开链接而无需切换到Safari或其他浏览器。网页是否可以判断用户是否在该应用程序包装的浏览器中?
答案 0 :(得分:1)
我现在明白了。您可以通过获取用户代理字符串来判断哪种浏览器正在访问您的站点。
您可以使用PHP,Java,Python等在服务器端获取它...或者您可以使用javascript在客户端获取它。
在PHP中,它存储在$ _SERVER [' HTTP_USER_AGENT']超全局中。此PHP将用户代理字符串回送给用户:
echo $_SERVER['HTTP_USER_AGENT'];
在javascript中,它位于navigator.userAgent变量中。此javascript向用户显示其用户代理:
alert(navigator.userAgent);
Facebook应用程序的用户代理字符串将如下所示:
的Mozilla / 5.0(ipad公司; CPU OS 8_3,例如Mac OS X)为AppleWebKit / 600.1.4(KHTML,例如Gecko)移动/ 12F69 [FBAN / FBIOS; FBAV / 28.0.0.10.10; FBBV / 8930087; FBDV / iPad4,1; FBMD / iPad; FBSN / iPhone OS; FBSV / 8.3; FBSS / 2; FBCR /; FBID /片; FBLC / EN_US; FBOP / 1]
具体来说,它是FBAN / FBIOS部分,将其标识为Facebook应用程序。
注意:用户代理字符串非常不可靠,因为它很容易伪造。为了您的目的,这不是什么大问题,但您不应该根据用户代理字符串做出实际的编程决策。