SCSオブジェクトについて

コントローラJavaScriptは、Webページをレンダリングするために、グローバルSCSオブジェクトで定義されている変数およびプロパティを使用します。グローバルJavaScriptオブジェクトは、controller.jsファイルの包含前にコントローラ・ファイルで定義する必要があります。カスタマイズに使用できるSCSオブジェクトには2つの主要プロパティがあります:

SCS.sitePrefix

SCS.sitePrefix変数は、オンライン・サイトのパス接頭辞を定義します。通常、これはsite/<siteName>/にデフォルト設定されます。

コントローラJavaScriptは、この値を使用して、どのWebページを表示するかを決定します。たとえば、ブラウザが/site/SampleSite/products/index.htmlのページをリクエストしている場合、sitePrefix /site/SampleSite/により、JavaScriptはサイトのproducts/index.htmlページを表示するように計算できます。sitePrefixは、文字"/"で始まり、終わる文字列値である必要があることに注意してください。

プロキシまたはAkamaiなどの他のインフラストラクチャおよびURLマッピング・ルールが使用されている場合、この変数を変更することで、サイト接頭辞をカスタマイズできます。たとえば、sitePrefixを/intranet/ExampleSite/に設定すると、Webサイトをデフォルトの/site/SampleSite/パス接頭辞ではなく、そのパス名によりブラウザで配信できます。

注:

ブラウザ内のURLがサイト接頭辞と一致しない場合、内部的に、デフォルト・コントローラJavaScriptは"/"をsitePrefixとして使用します。これにより、カスタマイズすることなく、バニティ・ドメインを使用してサイトを提供できます。

SCS.preInitRendering

定義されている場合、計算ロジックが実行される前に、SCS.preInitRendering関数がコントローラJavaScriptコードによってコールされます。これは、コントローラJavaScriptの基本操作をオーバーライドするカスタム・コントローラ・ファイルでの定義で役立つ関数です。

定義されている場合、SCS.preInitRenderingが関数である必要があります。これは、引数なしでコールされ、戻り値は必要なく、処理されません。

SCS.getDeviceInfo

SCS.getDeviceInfo関数により、コントローラJavaScript内のデバイス検出ロジックのカスタマイズが可能になります。この検出は、ページのモバイル・バージョンまたはレスポンシブ・バージョンのいずれを配信するかどうかの決定に使用されます。

SCS.getDeviceInfo関数は、引数を取得せず、2つのプロパティを含むJavaScriptを返します:

  • isMobile - 現在のデバイスがスマートフォンなどのモバイル・クライアントであることを示すブール・プロパティ。

  • isIOS - 現在のデバイスがisIOSベースのオペレーティング・システムで実行されていることを示すブール・プロパティ。

カスタム・コントローラがSCS.getDeviceInfoをオーバーライドしない場合、組込みのデフォルト実装が使用されます。