Service Portal und Client-Skripts

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • 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

    Sie möchten möglicherweise ein Client-Skript kennzeichnen, das sowohl auf dem Desktop als auch mobil kompatibel ist, das Verhalten jedoch von der Laufzeit abhängig ist. Sie können dieses Skript verwenden:
      if (window === null)
        // Write your mobile compatible code here
      else
        // Write your desktop compatible code here

    Nicht 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
    Hinweis:
    Widget-Client-Controller sind vollständige Angular-Controller und unterliegen nicht den hier nicht unterstützten Client-Skript-Globals. Verwenden Sie nach Bedarf jQuery und Angular.

    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

    Die G_list Global hilft Ihnen beim Festlegen des Filters eines Glide-Listenelements oder einer Listensammlervariablen. Verwenden Sie diese API anstelle der g_filter-API für Desktop-Clients-Skripts.
    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');
    }
    G_Service_catalog Ist nur in verfügbar Serviceportal Servicekatalogelementskripts. Verwenden Sie diese API, um zu ermitteln, ob Ihr Katalogelementskript als Teil eines Bestelltleitfadens oder als eigenständiges Produkt ausgeführt wird.
    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 :(");
    }