我注意到,在本地的iPhone Facebook应用程序中,人们可以直接打开链接,而无需切换到Safari或其他浏览器。网页是否有可能判断用户是否在应用程序包装的浏览器中?
发布于 2015-04-20 22:15:19
我现在明白了。您可以通过获取用户代理字符串来判断访问站点的是哪种浏览器。
您可以在服务器端使用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 ) AppleWebKit/600.1.4 (KHTML,类似壁虎) Mobile/12F69 FBAN/FBIOS;FBAV/28.0.0.10.10;FBBV/8930087;FBDV/iPad4,1;FBMD/iPad;FBSN/iPhone OS;FBSV/8.3;FBSV/2;FBCR/;FBID/tablet;FBLC/en_US;FBOP/1
具体来说,是FBAN/FBIOS部分将其识别为Facebook应用程序。
注意:用户代理字符串非常不可靠,因为它很容易伪造。就您的目的而言,这并不是什么大问题,但您不应该根据用户代理字符串做出实际的编程决策。
https://stackoverflow.com/questions/29713070
复制相似问题