关于 SCS 对象

控制器 JavaScript 使用全局 SCS 对象中定义的变量和属性来呈现 Web 页。全局 JavaScript 对象必须在控制器文件中包含 controller.js 文件之前定义。SCS 对象中有两个主要属性可用于定制:

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/,则可以通过在浏览器中使用路径名来传送网站,而不是使用默认的 /site/SampleSite/ 路径前缀。

注:

如果浏览器中的 URL 与站点前缀不匹配,则默认控制器 JavaScript 在内部使用 "/" 作为 sitePrefix。这样,可以使用没有定制内容的虚域提供站点。

SCS.preInitRendering

如果定义了 SCS.preInitRendering 函数,则先由控制器 JavaScript 代码调用此函数,之后再执行它的任何计算逻辑。此函数很有用,可在定制控制器文件中定义此函数以覆盖控制器 JavaScript 的基本操作。

如果定义 SCS.preInitRendering,它必须是函数。调用此函数时不使用任何参数,也不会有或处理任何返回值。

SCS.getDeviceInfo

通过使用 SCS.getDeviceInfo 函数,可以在控制器 JavaScript 中定制设备检测逻辑。此检测用于确定应传送页面的移动版本还是响应版本。

SCS.getDeviceInfo 函数不接收任何参数,它返回具有两个属性的 JavaScript 对象:

  • isMobile — 布尔值属性,指示当前设备是移动客户端,例如智能手机。

  • isIOS — 布尔值属性,指示当前设备正在运行基于 iOS 的操作系统。

如果定制控制器未覆盖 SCS.getDeviceInfo,则使用内置的默认实施。