ピースペース

AndroidタブレットはIsMobileDeviceにすることはできない

leave a comment »

タブレットの場合はあるページの表示方法を変える。をやっている。
MVC4で追加になったDisplay Modeを使えばすっきりやれそう。
が、Sony Tabletからのアクセスがなぜか?IsMobileDeviceになってくれない。
これでは、タブレットどころかMobileにもならない…

IsMobileDeviceは、.NETのブラウザ定義ファイルにその設定がある。らしい。
がなぜかそこにはAndroidもChromeも文字がない。
一方、VisualStudioにはブラウザ定義ファイルのTemplateが用意されている。
ならば、ブラウザ定義ファイルを追加すれば…と思って試すでしょ!ふつー
が、何をどう書けばいいのか?もわからないうえ、なにをやってもなにも変わらない(T.T)

Androidの場合はIsMobileDeviceが働かない。という情報もどこかにあったが、
スマホの場合はちゃんとIsMobileDeviceになる。
ん??Androidなブラウザ定義はどこにもみつからないが、
IsMobileDeviceになるものとならないものがある。ってこと??
まできて、やっとこの情報に辿りついた。
http://surferonwww.info/BlogEngine/post/2014/03/04/browser-definition-files.aspx

IsMobileDeviceは、どうもブラウザ定義ファイルを使ってないらしい。
ええ~っ!どんだけ道草してたんだよ>おれ
IsMobileDeviceはもちろんReadOnlyなので、IsMobileDeviceには頼れない! が判明しますた。

Display Modeには、User-Agentのオーバーライドという機能があって、
それを使えば、IsMobileDeviceに関わらず任意のDisplayModeが選択されるようにできるらしい。
DisplayModeはUserAgentで決定され、その判定に使用される任意のUserAgentをセットすることができる。
で、UserAgentがオーバーライドされたらIsMobileDeviceは無視されてDisplayModeが選択されるようになる。
という感じ。

Written by nasu38yen

2014年12月9日 @ 8:48 AM

カテゴリー: .NET, 未分類

Tagged with

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。