Oracle® Fusion Middleware Oracle Application Development Frameworkモバイル・ブラウザ開発者ガイド 11gリリース1 (11.1.1.7.0) B72413-01 |
|
前 |
次 |
この章では、Trinidadインフラストラクチャによって幅が狭い画面のサポートを特定する方法、およびEL(式言語)式を使用してユーザー・エージェントの詳細を公開する方法について説明します。
この章の内容は次のとおりです。
モバイル・デバイスには、様々な画面の幅の機種があります。その結果、WebアプリケーションのUIコンポーネントが、画面の幅が240ピクセルであるデバイス上では適切にレンダリングされても、画面の幅が100ピクセルしかないデバイス上でのアプリケーション実行時には正しくレイアウトされないことがあります。このような場合、Trinidadでは幅が狭い画面のデバイス向けにアプリケーションのレンダリングが最適化されます。Trinidadでは、画面の幅が240ピクセル未満であるデバイスは、幅が狭い画面のデバイスであるとみなされ、それにあわせて次のコンポーネントのレンダリングが最適化されます。
tr:breadcrumbs
tr:inputText
tr:navigationPane
tr:panelFormLayout
tr:panelLabelAndMessage
tr:panelRadio
tr:processChoiceBar
tr:selectRangeChoiceBar
Trinidadでは画面の幅が240ピクセル未満であるデバイスのみが、幅が狭い画面のデバイスであるとみなされるため、240ピクセルよりも一般的に画面の幅が広いiPhone(Safariブラウザ)またはBlackBerryスマートフォン(BlackBerryブラウザ)は、これには該当しません。Windows Mobileブラウザの場合、Trinidadにより、リクエスト・ヘッダーのUA-pixels
定義から画面の幅が特定され、画面の幅が240ピクセル未満である場合にのみ、幅が狭い画面の最適化が適用されます。一方、他のすべてのユーザー・エージェントでは、Trinidadにより幅が狭い画面のデバイス用にレンダリングが最適化されます。
Trinidadでは、EL式#{requestContext.agent}
を使用して、リクエストしているユーザー・エージェントの詳細が公開されます。この式により、リクエストしているユーザー・エージェントを説明するagent
オブジェクトが返されます。この式に詳細の名前または機能の名前のプロパティを追加することによって、Trinidadから、ユーザー・エージェントの名前、バージョン、プラットフォーム、プラットフォームのバージョン、モデル(BlackBerryのみ)、およびブラウザのJavaScriptとPPR(部分ページ・レンダリング)のサポートを含む詳細が返されるように指定できます。ユーザー・エージェント詳細の公開の詳細は、7.2.1項「ユーザー・エージェントの詳細の特定方法」を参照してください。ブラウザの機能を特定する場合の詳細は、7.2.2項「ブラウザの機能の特定方法」を参照してください。
Trinidadでリクエストが受信されると、エージェントのタイプ、名前、バージョン、およびエージェントのプラットフォーム名とプラットフォーム・バージョンを含む、様々なユーザー・エージェントの詳細(表7-1)を示すユーザー・エージェント文字列が解析されます。Trinidadでは、EL式#{requestContext.agent.<detail-name>}
を使用してこれらの詳細が公開されます。たとえば、ユーザー・エージェントのタイプに適したカテゴリ(つまり、デスクトップ・ブラウザ用のdesktopまたはモバイル・ブラウザ用のPDA)をユーザーが取得できるようにするために、Trinidadでは、EL式内で次のようにtype
詳細が使用されます。
#{requestContext.agent.type}
注意: Trinidadでは、 |
表7-1 EL式を通じて公開されるブラウザの詳細
詳細の名前 | 説明 |
---|---|
|
ユーザー・エージェントのタイプを識別します。デスクトップおよびモバイル・ブラウザについて、それぞれ値はdesktopおよびPDAです。モバイル・デバイス上でSafariを実行した場合、すべてのデスクトップ・ブラウザ機能が提供されるため、エージェント・オブジェクトによりこの詳細がデスクトップ・タイプとして公開されます。 |
|
エージェントの名前。 |
|
エージェントのバージョン。 |
|
エージェントが実行されるプラットフォーム。 |
|
エージェントが実行されるプラットフォームのバージョン。 |
|
モバイル・デバイスのモデル。 |
|
Trinidadでは各モバイル・ブラウザをそのCSS機能に基づき、さまざまなスキン・タイプに分類しています。詳細は、7.2.1.1項「スキン・タイプの決定」を参照してください。 |
TrinidadではCSSサポートに基づき、着信ユーザー・エージェントをさまざまなスキン・ファミリ・タイプに分類しています。スキン・ファミリ・タイプは#{requestContext.agent.skinFamilyType}
EL式を使用して公開されています。たとえば、TrinidadはこのEL式を使用して、Windowsプラットフォームで実行されているSafariユーザー・エージェント用にwindowswebkit
の値を導出します。Symbianデバイスで実行中のSafariブラウザの場合は、この式はNokia Webkit (nokiawebkit
)を返します。表7-2は、ユーザー・エージェント、プラットフォームおよびプラットフォーム・バージョンに従って#{requestContext.agent.skinFamilyType}
により返されるスキン・ファミリ・タイプをリストしています。
表7-2 SkinFamilyType属性により返されるスキン・ファミリ・タイプ
ユーザー・エージェント | プラットフォーム | スキン・ファミリ・タイプ |
---|---|---|
Windowsモバイル |
|
|
Safari |
iPhone/iPod |
|
Safari |
Linux |
|
Safari |
Macintosh |
|
Safari |
Symbian |
|
Safari |
Windows |
|
Safari |
未知のプラットフォーム |
|
Blackberry |
|
|
Blackberry (バージョン4.5以上) |
|
|
他のすべてのモバイル・ブラウザ |
|
Trinidadでは、ユーザー・エージェントに割り当てる機能に基づいて、ユーザー・エージェントのリクエストに対するレスポンスを送信します。これらの機能にはユーザー・エージェントによるJavaScriptおよびPPR (部分ページ・レンダリング)のサポートが含まれています。これらの一部の機能(表7-3)は、EL式#{requestContext.agent.capabilities}
を通じて公開されます。
Trinidadによってユーザー・エージェントに割り当てられる具体的な機能を特定するには、EL式#{requestContext.agent.capabilities.<capability-name>}
を使用します。たとえば、TrinidadによってJavaScript機能がユーザー・エージェントに割り当てられるかどうかを特定するには、次のEL式を使用します。
# {requestContext.agent.capabilities.scriptingSpeed!='none'}
表7-3 EL式を通じて公開されるブラウザの機能
機能の名前 | 詳細 |
---|---|
|
Trinidadで幅が狭い画面のデバイス用にレンダリングが最適化されるかどうかを示します。Trinidadで幅が狭い画面のデバイス用にレンダリングが最適化される場合は、 |
|
ユーザー・エージェントに対するJavaScriptサポートを示します。ユーザー・エージェントによってJavaScriptがサポートされていない場合は、 |
|
ユーザー・エージェントに対するPPRサポートを示します。ブラウザによってPPRがサポートされている場合は、 |