Udostępnij za pośrednictwem


Windows Phone “Mango”: IE9によるWeb開発 #2 - Windows Phone 7.5のIE Mobileのユーザーエージェントを知る方法

よくある質問として、「Windows Phone “Mango”のIE Mobileのユーザーエージェントはどうなっていますか」というものがあります。単純に回答を示してもいいのですが、ここは開発ツールを活用して答えを見つけましょう。Visual Studioをお持ちの皆様であれば、簡単なプログラムを作れば、簡単に確認できます。

手順1:Visual Studio 2010を起動し、新しいプロジェクトを選択し、Webのテンプレートから、[ASP.NET 空の Web アプリケーション]を選択し、名前を[GetUserAgent]にします。

1-EmptyWebApplication

手順2:[Ctrl]+[Shift]+[A]を押し、新しい項目の追加ダイアログを開き、プロジェクトに Webフォームを追加します。名前を[Default.aspx]とします。

2-WebForm

手順3:Default.aspxの[ソース]を表示し、編集します。赤い太字部分を追加します。<body>タグ内の<form>タグは削除しましょう。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GetUserAgent.Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="https://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <meta name="Viewport"
content="width=device-width, height=device-height, user-scalable : 'yes'"/>

</head>
<body>
    <div>
     User Agent:<%=Request.UserAgent.ToString() %>    
    </div>
</body>
</html>

手順4:[F5]キーを押して実行します。ブラウザーが表示されます。

IE9UserAgent

User Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

手順5: Windows Phone SDK 7.1のWindows Phone Emulatorを起動し、Internet Explorerを開きます。

アドレスとして、[https://localhost:50879] と入力します。このアドレスは手順4でブラウザーが表示しているものと同じにします。

既定では、モバイル版のレンダリングが行われ、モバイル版のユーザーエージェントが表示されます。

IEUserAgent-Mobile

IE Mobile (モバイル用サイト) ユーザーエージェント:
Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Microsoft; XDeviceEmulator)
太字部分は、実デバイスの場合、OEMメーカー名;  デバイス名; 携帯電話会社名; が入ります。

IE Mobileの設定から、[Webサイトの優先設定]を[デスクトップ用サイト]に変更します。

IESetting

同じページを更新しましょう。デスクトップ版のユーザーエージェントが表示されます。

IEUserAgent-Desktop

IE Mobile (デスクトップ用サイト) ユーザーエージェント:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)

こちらは、OEMメーカー名やデバイス名、携帯電話会社名は入りません。

・・・

ちなみに、手順3で User Agent: <%= の行で[F9]を押してブレークポイントを設定しておけば、ブラウザーからページが読み込まれたタイミングで処理が止まるので、Visual Studio 2010の[イミディエイト ウィンドウ]から値を調べることができます。皆さんも試してみてはいかがでしょうか。

参考までに、この記事の手順で作成したソリューションファイルを添付します。

 

GetUserAgent.zip