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]にします。
手順2:[Ctrl]+[Shift]+[A]を押し、新しい項目の追加ダイアログを開き、プロジェクトに Webフォームを追加します。名前を[Default.aspx]とします。
手順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]キーを押して実行します。ブラウザーが表示されます。
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でブラウザーが表示しているものと同じにします。
既定では、モバイル版のレンダリングが行われ、モバイル版のユーザーエージェントが表示されます。
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サイトの優先設定]を[デスクトップ用サイト]に変更します。
同じページを更新しましょう。デスクトップ版のユーザーエージェントが表示されます。
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の[イミディエイト ウィンドウ]から値を調べることができます。皆さんも試してみてはいかがでしょうか。
参考までに、この記事の手順で作成したソリューションファイルを添付します。