Service Portal und Client-Skripts
Sie können Client-Skripts und Katalog-Client-Skripts in Serviceportal verwenden, wenn der UI-Typ auf Mobile / Service Portal oder Alle festgelegt ist. Im Gegensatz zu einem Widget-Client-Controller werden Client-Skripts und Katalog-Client-Skripts mit dem Formular-Widget und SC-Katalogelement-Widget verwendet.
Bevor Sie ein Skript als Mobile/Service Portal oder Alle kennzeichnen, stellen Sie sicher, dass Sie nur die mobilen APIs verwenden. Das Festlegen eines Client-Skripts auf Mobile stellt nicht sicher, dass es funktioniert. Es zeigt einfach an, dass das Skript durch die mobile App oder von Serviceportal versucht wird. Viele Ihrer vorhandenen Client-Skripts können auf Alle festgelegt werden, solange die API-Aufrufe von der mobilen Client-Skripting-Umgebung unterstützt werden.
Die Themen in diesem Abschnitt erfordern fortgeschrittenes Coding-Wissen und ein Verständnis von Serviceportal APIs.
Desktop- gegenüber mobiler Laufzeit überprüfen
if (window === null)
// Write your mobile compatible code here
else
// Write your desktop compatible code hereNicht unterstützte Client-Skripting-Globals
Die folgenden Globals und APIs sind in Client-Skripts und Katalog-Client-Skripts, die in Serviceportal verwendet werden, nicht verfügbar:
- $
- $$
- $j
- Angular
- Kontrolle
- Dokument
- jQuery
- Fenster
Eingebettete Widgets & g_form
Bei Verwendung des Servicekatalog-Variablentyps Makro und Makro mit Bezeichnung können Sie ein Widget auswählen, das in ein Katalogelementformular eingebettet werden soll. Innerhalb des Client-Controllers für das eingebettete Widget können Sie auf das Feldobjekt und die Instanz des Katalogelements g_form zugreifen:
$scope.page.field$scope.page.g_form()
Client-Skripts, die mit verwendet werden Serviceportal
function onLoad() {
var myListCollector = g_list.get("my_list_collector");
myListCollector.reset();
myListCollector.setQuery("active=true^category=8c7b22230b402200b0b02c6317673a62");
myListCollector.addItem('3a700d39af5f4fc0aab978df90f4c692', 'Power Supply');
myListCollector.addItem('1cb93419a3a248318da8f814140b42f6', 'Backpack');
}function onLoad() {
if (window) // if CMS, don't run this
return;
// g_service_catalog api for Service Portal and Mobile
var isOrderGuide = g_service_catalog.isOrderGuide();
g_form.setValue("is_order_guide", isOrderGuide ? "Yes!" : "Nope :(");
}