プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle ADFモバイル・ブラウザ・アプリケーションの開発
12c (12.2.1.1)
E77401-01
  目次へ移動
目次

前
 
次
 

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

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

この章には次の項が含まれます:

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

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

  • tr:breadcrumbs

  • tr:inputText

  • tr:navigationPane

  • tr:panelFormLayout

  • tr:panelLabelAndMessage

  • tr:panelRadio

  • tr:processChoiceBar

  • tr:selectRangeChoiceBar

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

Trinidadでは画面の幅が240ピクセル未満であるデバイスのみが、幅が狭い画面のデバイスであるとみなされるため、240ピクセルよりも一般的に画面の幅が広いiPod (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

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


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

Trinidadでは、ユーザー・エージェントに割り当てる機能に基づいて、ユーザー・エージェントのリクエストに対するレスポンスを送信します。これらの機能には、ユーザー・エージェントのJavaScriptおよびPPRのサポートが含まれます。これらの一部の機能(表7-2)は、EL式#{requestContext.agent.capabilities}を通じて公開されます。

Trinidadによってユーザー・エージェントに割り当てられる具体的な機能を特定するには、EL式#{requestContext.agent.capabilities.<capability-name>}を使用します。たとえば、TrinidadによってJavaScript機能がユーザー・エージェントに割り当てられるかどうかを特定するには、次のEL式を使用します。

# {requestContext.agent.capabilities.scriptingSpeed!='none'}

表7-2 EL式を通じて公開されるブラウザの機能

機能の名前 詳細

narrowScreen

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

scriptingSpeed

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

partialRendering

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