關於 SCS 物件

控制器 JavaScript 使用全域 SCS 物件中定義的變數和特性來呈現網頁。必須在控制器檔案中定義全域 JavaScript 物件才能包含 controller.js 檔案。SCS 物件中有兩個主要特性可用來進行自訂:

SCS.sitePrefix

SCS.sitePrefix 變數可定義線上網站的路徑前置碼。通常此預設值為 site/<siteName>/

控制器 JavaScript 使用這個值決定要顯示的網頁。例如,如果瀏覽器要求位於 /site/SampleSite/products/index.html 的頁面,sitePrefix /site/SampleSite/ 就會允許 JavaScript 計算應顯示網站的 products/index.html 頁面。請注意,sitePrefix 必須是字串值,開頭和結尾都要是 "/" 字元。

如有代理主機、其他基礎架構 (如 Akamai) 和 URL 對應規則,請修改此變數以允許自訂網站前置碼。例如,將 sitePrefix 設定為 /intranet/ExampleSite/ 可允許瀏覽器使用該路徑名稱傳遞網站,而不是使用預設的 /site/SampleSite/ 路徑前置碼。

註:

如果瀏覽器中的 URL 與網站前置碼不符,預設控制器 JavaScript 會在內部使用 "/" 作為 sitePrefix。這允許在沒有自訂的情況下,使用虛名網域提供網站。

SCS.preInitRendering

如果定義,控制器 JavaScript 程式碼會先呼叫 SCS.preInitRendering 函數,再執行任何運算邏輯。您可以在自訂控制器檔案中定義這個實用的函數,以覆寫控制器 JavaScript 的基本作業。

如果定義,SCS.preInitRendering 必須是函數。呼叫該函數不需任何引數,而且不會預期或處理任何傳回值。

SCS.getDeviceInfo

SCS.getDeviceInfo 函數允許自訂控制器 JavaScript 內部的裝置偵測邏輯。這項偵測功能可用來判斷是否應傳遞行動或響應式版本的頁面。

SCS.getDeviceInfo 函數不使用任何引數,而且會傳回擁有兩個特性的 JavaScript 物件:

  • isMobile—這是布林值特性,指出目前的裝置為行動從屬端,如智慧型手機。

  • isIOS—這是布林值特性,指出目前的裝置正在執行 iOS 型作業系統。

如果自訂控制器未覆寫 SCS.getDeviceInfo,則會使用內建的預設實行。