Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript检查Windows Phone用户代理?_Javascript_User Agent - Fatal编程技术网

如何使用javascript检查Windows Phone用户代理?

如何使用javascript检查Windows Phone用户代理?,javascript,user-agent,Javascript,User Agent,我可以使用以下代码检查iPhone: (navigator.userAgent.match(/iPhone/i)) 但我想使用此userAgent将Windows Phone作为目标: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Motorola_ES405B_19103; Windows Phone 6.5.3.5) 有没有办法做到这一点 Windows Phone显然是您想要匹配的术语。所以只要在你的matcher中用这个词交换i

我可以使用以下代码检查iPhone:

(navigator.userAgent.match(/iPhone/i))
但我想使用此userAgent将Windows Phone作为目标:

Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; 
Motorola_ES405B_19103; Windows Phone 6.5.3.5)

有没有办法做到这一点

Windows Phone
显然是您想要匹配的术语。所以只要在你的matcher中用这个词交换
iPhone
,你就可以开始了


如评论中所述:同时查找
iemobile
将为您提供范围更广的检测到的microsoft手机

e、 g:


诺基亚Lumia或任何WPhone浏览器都具有桌面和移动浏览模式,IEMobile会发送不同的用户代理。桌面模式不发送Windows Phone X.Y型号参数。查找Windows+ARM+Touch+WPDesktop标签以及可能的屏幕大小以猜测wphone或tablet。我知道这是一种恶作剧

Lumia 920 WPhone 8,桌面模式 Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.2;Trident/6.0;ARM;触摸屏;WPDesktop)

Lumia 920 WPhone 8
Mozilla/5.0(兼容;MSIE 10.0;Windows Phone 8.0;Trident/6.0;IEMobile/10.0;ARM;Touch;诺基亚;Lumia 920)

Lumia 820 WPhone 8
Mozilla/5.0(兼容;MSIE 10.0;Windows Phone 8.0;Trident/6.0;IEMobile/10.0;ARM;Touch;诺基亚;Lumia 820)

Lumia 630 WPhone 8
Mozilla/5.0(Windows Phone 8.1;ARM;Trident/7.0;Touch;rv:11.0;IEMobile/11.0;诺基亚;id313-3)类似Gecko

Lumia 630 WPhone 8,桌面模式 Mozilla/5.0(Windows NT 6.2;ARM;Trident/7.0;Touch;rv:11.0;WPDesktop;诺基亚;id313-3)类似Gecko

Lumia 800 WPhone 7.5
Mozilla/5.0(兼容;MSIE 9.0;Windows Phone操作系统7.5;Trident/5.0;IEMobile/9.0;诺基亚;Lumia 800)

Lumia 900
Mozilla/5.0(兼容;MSIE 9.0;Windows Phone操作系统7.5;Trident/5.0;IEMobile/9.0;诺基亚;Lumia 900)

WP7.5 IEMobile9桌面模式 Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;Trident/5.0;XBLWP7;ZuneWP7)

if(navigator.userAgent.match(/iemobile/i)) 
{                                       
    alert('IE is Issue Explorer');
}

您是否尝试过使用
match
匹配您想要使用的内容?如果你试过了,但不起作用,请说出你试过的。是的,我试过了。但我想匹配Windows phone的某个版本。这是一直到7.5版本的版本,还是可以指定min版本?例如if(navigator.userAgent.match(/Windows Phone<7)或类似的东西。它使用正则表达式进行匹配,因此只能匹配您看到的内容。但是由于用户代理中包含版本号,因此您仍然可以使用
(navigator.userAgent.match(/Windows Phone[1-6]/i))
以匹配从1到6的所有版本。如果您查找iemobile,它还将尝试使其与windows mobile和ce版本兼容。感谢您的评论,我已更新了我的答案以包含您的建议。whindows phone User agent:-->(兼容;MSIE 10.0;windows NT 6.2;Trident/6.0;ARM;Touch;WPDesktop)在你的答案中添加一个小正文来解释你的代码总是一个好主意。也许还可以添加一两个引用。
function isIEMobile() {
    var regExp = new RegExp("IEMobile", "i");
    return navigator.userAgent.match(regExp);
}
if(navigator.userAgent.match(/iemobile/i)) 
{                                       
    alert('IE is Issue Explorer');
}