ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Frameworkモバイル・ブラウザ開発者ガイド
11gリリース1 (11.1.1.7.0)
B72413-01
  目次へ移動
目次

前
 
次
 

7 幅が狭い画面のサポートおよびユーザー・エージェントの詳細のサポート

この章では、Trinidadインフラストラクチャによって幅が狭い画面のサポートを特定する方法、およびEL(式言語)式を使用してユーザー・エージェントの詳細を公開する方法について説明します。

この章の内容は次のとおりです。

7.1 幅が狭い画面のサポートの特定

モバイル・デバイスには、様々な画面の幅の機種があります。その結果、WebアプリケーションのUIコンポーネントが、画面の幅が240ピクセルであるデバイス上では適切にレンダリングされても、画面の幅が100ピクセルしかないデバイス上でのアプリケーション実行時には正しくレイアウトされないことがあります。このような場合、Trinidadでは幅が狭い画面のデバイス向けにアプリケーションのレンダリングが最適化されます。Trinidadでは、画面の幅が240ピクセル未満であるデバイスは、幅が狭い画面のデバイスであるとみなされ、それにあわせて次のコンポーネントのレンダリングが最適化されます。

7.1.1 Trinidadによる幅が狭い画面の最適化の特定方法

Trinidadでは画面の幅が240ピクセル未満であるデバイスのみが、幅が狭い画面のデバイスであるとみなされるため、240ピクセルよりも一般的に画面の幅が広いiPhone(Safariブラウザ)またはBlackBerryスマートフォン(BlackBerryブラウザ)は、これには該当しません。Windows Mobileブラウザの場合、Trinidadにより、リクエスト・ヘッダーのUA-pixels定義から画面の幅が特定され、画面の幅が240ピクセル未満である場合にのみ、幅が狭い画面の最適化が適用されます。一方、他のすべてのユーザー・エージェントでは、Trinidadにより幅が狭い画面のデバイス用にレンダリングが最適化されます。

7.2 EL式を使用したユーザー・エージェント機能の特定

Trinidadでは、EL式#{requestContext.agent}を使用して、リクエストしているユーザー・エージェントの詳細が公開されます。この式により、リクエストしているユーザー・エージェントを説明するagentオブジェクトが返されます。この式に詳細の名前または機能の名前のプロパティを追加することによって、Trinidadから、ユーザー・エージェントの名前、バージョン、プラットフォーム、プラットフォームのバージョン、モデル(BlackBerryのみ)、およびブラウザのJavaScriptとPPR(部分ページ・レンダリング)のサポートを含む詳細が返されるように指定できます。ユーザー・エージェント詳細の公開の詳細は、7.2.1項「ユーザー・エージェントの詳細の特定方法」を参照してください。ブラウザの機能を特定する場合の詳細は、7.2.2項「ブラウザの機能の特定方法」を参照してください。

7.2.1 ユーザー・エージェントの詳細の特定方法

Trinidadでリクエストが受信されると、エージェントのタイプ、名前、バージョン、およびエージェントのプラットフォーム名とプラットフォーム・バージョンを含む、様々なユーザー・エージェントの詳細(表7-1)を示すユーザー・エージェント文字列が解析されます。Trinidadでは、EL式#{requestContext.agent.<detail-name>}を使用してこれらの詳細が公開されます。たとえば、ユーザー・エージェントのタイプに適したカテゴリ(つまり、デスクトップ・ブラウザ用のdesktopまたはモバイル・ブラウザ用のPDA)をユーザーが取得できるようにするために、Trinidadでは、EL式内で次のようにtype詳細が使用されます。

#{requestContext.agent.type}


注意:

Trinidadでは、PlatformNameおよびPlatformVersionのような詳細について、ユーザー・エージェント文字列からこれらを解析できなかった場合にnull値を返すことがあります。


表7-1 EL式を通じて公開されるブラウザの詳細

詳細の名前 説明

type

ユーザー・エージェントのタイプを識別します。デスクトップおよびモバイル・ブラウザについて、それぞれ値はdesktopおよびPDAです。モバイル・デバイス上でSafariを実行した場合、すべてのデスクトップ・ブラウザ機能が提供されるため、エージェント・オブジェクトによりこの詳細がデスクトップ・タイプとして公開されます。

agentName

エージェントの名前。

agentVersion

エージェントのバージョン。

platformName

エージェントが実行されるプラットフォーム。

platformVersion

エージェントが実行されるプラットフォームのバージョン。

hardwareMakeModel

モバイル・デバイスのモデル。

skinFamilyType

Trinidadでは各モバイル・ブラウザをそのCSS機能に基づき、さまざまなスキン・タイプに分類しています。詳細は、7.2.1.1項「スキン・タイプの決定」を参照してください。


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モバイル

windowsmobile

Safari

iPhone/iPod

iPhonewebkit

Safari

Linux

linuxwebkit

Safari

Macintosh

macwebkit

Safari

Symbian

nokiawebkit

Safari

Windows

windowswebkit

Safari

未知のプラットフォーム

defaultwebkit

Blackberry


blackberryminimal

Blackberry (バージョン4.5以上)


blackberry

他のすべてのモバイル・ブラウザ


genericpda


7.2.2 ブラウザの機能の特定方法

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式を通じて公開されるブラウザの機能

機能の名前 詳細

narrowScreen

Trinidadで幅が狭い画面のデバイス用にレンダリングが最適化されるかどうかを示します。Trinidadで幅が狭い画面のデバイス用にレンダリングが最適化される場合は、true(ブール型)が返されます。

scriptingSpeed

ユーザー・エージェントに対するJavaScriptサポートを示します。ユーザー・エージェントによってJavaScriptがサポートされていない場合は、「none」(文字列型)が返されます。

partialRendering

ユーザー・エージェントに対するPPRサポートを示します。ブラウザによってPPRがサポートされている場合は、true(ブール型)が返されます。