Kontroler JavaScript używa — w celu wyrenderowania strony internetowej — zmiennych i wartości zdefiniowanych w globalnym obiekcie SCS. Ten globalny obiekt JavaScript musi zostać zdefiniowany w pliku kontrolera przed dołączeniem pliku controller.js. W obiekcie SCS istnieją dwie główne właściwości, które mogą być używane dla dostosowywania:
Zmienna SCS.sitePrefix
definiuje prefiks ścieżki serwisu online. Zazwyczaj jest to domyślnie site/<nazwaSerwisu>/
.
Kontroler JavaScript używa tej wartości do ustalenia strony internetowej, która ma zostać wyświetlona. Na przykład, jeśli przeglądarka żąda strony /site/SampleSite/products/index.html
, to sitePrefix o wartości /site/SampleSite/
umożliwia kontrolerowi JavaScript ustalenie, że powinna zostać wyświetlona strona products/index.html
. Należy pamiętać, że sitePrefix musi być wartością napisową, zaczynającą się i kończącą znakiem "/
".
/intranet/ExampleSite/
umożliwia się dostarczanie serwisu z tą ścieżką w przeglądarce (zamiast domyślnego prefiksu /site/SampleSite/
).
Uwaga:
Wewnętrznie, jeśli URL w przeglądarce nie jest zgodny z prefiksem ścieżki, kontroler domyślny JavaScript używa jako zmiennej sitePrefix znaku "/
". Dzięki temu serwis może być udostępniany — bez dostosowywania — przy użyciu zindywidualizowanej domeny.Funkcja SCS.preInitRendering
(jeśli zdefiniowano) jest wywoływana przez kod JavaScript kontrolera przed wykonaniem jakiejkolwiek logiki obliczeniowej. Jest to funkcja przydatna do definiowania (w niestandardowych plikach kontrolera) zdolności przesłaniania podstawowych operacji JavaScript kontrolera.
SCS.preInitRendering
musi być funkcją (jeśli zdefiniowano). Jest wywoływana bez żadnych argumentów. Nie jest oczekiwana ani przetwarzana żadna wartość zwrotna.
Funkcja SCS.getDeviceInfo
umożliwia dostosowywanie — wewnątrz pliku kontrolera JavaScript — logiki wykrywania urządzenia. Funkcja wykrywania jest używana do określania, czy powinna być dostarczana mobilna czy responsywna wersja strony.
Funkcja SCS.getDeviceInfo
nie przyjmuje żadnych argumentów; zwraca obiekt JavaScript, mający dwie właściwości:
isMobile — właściwość logiczna wskazująca, że bieżące urządzenie jest klientem mobilnym, takim jak smartfon.
isIOS — właściwość logiczna wskazująca, że bieżące urządzenie pracuje w systemie operacyjnym opartym na iOS.
Jeśli kontroler niestandardowy nie przesłania funkcji SCS.getDeviceInfo
, jest używana wbudowana implementacja domyślna.