WindowsPhone哪个用户代理是正确的?

时间:2015-02-16 15:57:44

标签: javascript php windows-phone

任何人都知道为什么php和jscript输出不同的用户代理?

而且,哪一个是正确的?

PHP

<?php print_r($_SERVER['HTTP_USER_AGENT']); ?>

输出: Mozilla / 5.0(移动; Windows Phone 8.1; Android 4.0; ARM; Trident / 7.0; Touch; rv:11.0; IEMobile / 11.0; Microsoft; Lumia535),如iPhone OS7_0_3 Mac OS X AppleWebKit / 537(KHTML,如Gecko)Mobile Safari / 537)

的JScript

alert(navigator.userAgent);

输出: Mozilla / 5.0(兼容; MSIE 9.0; Windows Phone OS 7.5; Trident / 5.0; IEMobile / 9.0; Microsoft; Lumia 535

1 个答案:

答案 0 :(得分:0)

在我们的门户网站中,我们通过UAS检测呼叫设备。我已经检测到 WP 8.1 用户代理字符串的一些问题。 对于使用IE的WP,通过Internet设置为移动,我收到“有意义的”UAS:

  

Mozilla / 5.0(移动版; Windows Phone 8.1; Android 4.0; ARM; Trident / 7.0;   触摸; RV:11.0; IEMobile / 11.0;诺基亚; Lumia 930)喜欢iPhone OS 7_0_3   Mac OS X AppleWebKit / 537(KHTML,如Gecko)Mobile Safari / 537

因此,如果将IE mobile设置为“Desktop”或通过Intranet呼叫门户网站,我会收到:

  

Mozilla / 5.0(Windows NT 6.2; ARM; Trident / 7.0; Touch; rv:11.0;   WPDesktop; Lumia 930)喜欢Gecko

所以..效果是,我们的门户网站已经向iOS显示了移动页面,而不是移动页面到WP。 解决方法是在查询iPhone之前查询UAS的“Windows Phone”。 似乎MS试图通过这种方式被检测为移动设备(如果页面仅查询iOS和Android设备),那就不好了。
因此,没有“一个”正确的UAC,你必须支持多个......