web-dev-qa-db-ja.com

JavaScriptでWindows Phoneのユーザーエージェントを確認するにはどうすればよいですか?

私はこのコードで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)

これを行う方法はありますか?

22
oceanen

Windows Phone確実に一致させたい用語のようです。そのため、マッチャーのiPhoneをその用語と交換すれば、準備完了です。


コメントで述べたように、iemobileも検索すると、検出されたMicrosoftモバイルOSの範囲がさらに広がります。

例えば。:

if(navigator.userAgent.match(/Windows Phone/i)){
    alert('Is a windows phone!');
}

if(navigator.userAgent.match(/iemobile/i)){
    alert('Is some mobile IE browser!')
}

// and probably less common, but still useful:
if(navigator.userAgent.match(/WPDesktop/i)){
    alert('It is a windows phone in desktop mode!')
}
44
devsnd

Nokia Lumiaまたは任意のWPhoneブラウザーにはデスクトップとモバイルのブラウジングモードがあり、IEMobileは異なるユーザーエージェントを送信します。デスクトップモードは、Windows Phone X.Yモデル引数を送信しません。 Windows + ARM +タッチ+ WPDesktopタグと、おそらく画面サイズを見つけて、携帯電話またはタブレットを推測します。私が知っているそのハック。

Lumia 920 WPhone 8、デスクトップモード
Mozilla/5.0(互換性あり; MSIE 10.0; Windows NT 6.2; Trident/6.0; ARM; Touch; WPDesktop)

Lumia 920 WPhone 8
Mozilla/5.0(互換性あり; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)

Lumia 820 WPhone 8
Mozilla/5.0(互換性あり; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 820)

Lumia 630 WPhone 8
Mozilla/5.0(Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; id313-3)のようなGecko

Lumia 630 WPhone 8、デスクトップモード
Mozilla/5.0(Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop; NOKIA; id313-3)Geckoのような

Lumia 800 WPhone 7.5
Mozilla/5.0(互換性あり; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 800)

ルミア9
Mozilla/5.0(互換性あり; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 900)

WP7.5 IEMobile9デスクトップモード
Mozilla/5.0(互換性あり; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)

19
Whome

動作中Fiddle

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