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

WindowsPhone which user agent is correct?

有人知道为什么 php 和 jscript 输出不同的用户代理吗?

还有,哪一个是正确的?

PHP

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

输出: Mozilla/5.0(移动;Windows Phone8.1;Android4.0;ARM;Trident/7.0;触摸;rv:11.0;IEMobile/11.0; Microsoft; Lumia535) like iPhone OS7_0_3 Mac OS X AppleWebKit/537 (KHTML, like 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;微软;Lumia 535

在我们的门户中,我们通过 UAS 检测呼叫设备。我检测到 WP 8.1 用户代理字符串存在一些问题。 对于带有 IE 的 WP,设置为通过 Internet 移动,我收到 "meaningful" UAS:

Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 930) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537

因此,如果 IE 移动设置为 "Desktop" 或通过 Intranet 调用门户,我将收到:

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

所以.. 结果是,我们的门户向 iOS 显示了移动页面,而不是向 WP 显示了移动页面。 解决方法是在查询 iPhone 之前向 UAS 查询 "Windows Phone"。 似乎 MS 尝试以这种方式被检测为移动设备(如果页面仅查询 iOS 和 Android-设备),这不太好。
因此,没有"one"正确的UAC,你必须支持多个...