„GlideForm“-Skripts (g form) für die Mobilplattform erstellen und migrieren

  • Freigeben Version: Australia
  • Aktualisiert 12. März 2026
  • 4 Minuten Lesedauer
  • Client-Skripts für die Mobilplattform werden genauso erstellt wie Skripts für das Web, mit einigen wenigen Ausnahmen. Alle neuen Skripts müssen bestimmten Richtlinien entsprechen. Die folgenden Elemente sind auf der mobilen Plattform betroffen: Client-Skripts, UI-Richtlinien, Navigatormodule und UI-Aktionen.

    Clientskripts

    Damit neue oder vorhandene Skripts für Mobilgeräte gültig sind, müssen sie die folgenden Anforderungen erfüllen:
    • Verwenden Sie die neuen mobilen Methoden anstelle von G_Form.getControl() .
    • Verwenden Sie keine veralteten Methoden.
    • Verweisen Sie nicht auf nicht unterstützte Browserobjekte.
    • Kein synchrones JavaScript erstellen, GlideAjax , Und GlideRecord Anrufe.
    • Rufen Sie keine Methoden auf, die nicht für Mobilgeräte verfügbar sind.
    • Aktivieren Sie die Ausführung von Skripts auf der mobilen UI.
    Tabelle : 1. Anforderungen
    Verwenden Sie die neuen mobilen Methoden Mehrere neue Methoden sind zum Ändern von Formularfeldern verfügbar, anstatt die HTML direkt zu bearbeiten. Diese Methoden ersetzen vorherige Verwendungen von G_Form.getControl() , Die für die mobile Plattform veraltet ist. Stellen Sie in Ihren vorhandenen Skripts sicher, dass die neuen Methoden anstelle von Methoden verwendet werden, die auf der mobilen Plattform nicht gültig sind. Informationen zu diesen neuen Methoden finden Sie unter Mobile GlideForm()-API .
    Verwenden Sie keine veralteten Methoden

    Die folgenden Methoden sind für die mobile Plattform veraltet, da direkter Zugriff auf HTML-Elemente nicht zulässig ist:

    • G_Form.getControl()
    • G_Form.getFormElement()
    • G_Form.getElement()

    Um sicherzustellen, dass vorhandene Skripts kompatibel sind, entfernen Sie alle Aufrufe veralteter Methoden aus Ihrem Code. Verwenden Sie für neue Skripts keine veralteten Methoden, wenn das Skript für Mobilgeräte gültig sein soll.

    Für G_Form.getControl() , Einige der zuvor in dieser Methode enthaltenen Funktionen wurden in einzelne Methoden extrahiert. Anstelle von G_Form.getControl() , Verwenden Sie die neuen Methoden, die auf der Entwickler-Website beschrieben sind.

    Verweisen Sie nicht auf nicht unterstützte Browserobjekte

    Die folgenden Browserobjekte werden in mobilen Skripts nicht unterstützt:

    • Fenster
    • JQuery oder Prototyp ($, $j oder $$)
    • Dokument

    Stellen Sie sicher, dass neue Skripts diese Objekte nicht verwenden, und entfernen Sie jegliche Verwendung dieser Objekte aus Ihren vorhandenen Skripts. Verwenden GlideForm (g_Form) Stattdessen, die Methoden wie bereitstellt SetLabel() , AddDecoration() , Und HasField() Für die Ausführung derselben Aufgaben.

    Führen Sie keine synchronen JavaScript-Aufrufe durch

    Die mobile Plattform lässt keine synchronen JavaScript-Aufrufe zu. Die G_Form.getReference() Für die Methode muss jetzt der Rückrufparameter definiert sein. Zum Beispiel:

     g_form.getReference(fieldName, callback)

    Stellen Sie sicher, dass alles G_Form.getReference() Aufrufe enthalten den Rückrufparameter. Das folgende Skript enthält beispielsweise keinen Rückruf und ist nicht mit der mobilen Plattform kompatibel:

     var userName = g_form.getReference('assigned_to').user_name;
     g_form.setValue('u_assigned_user_name', userName);

    Das folgende Skript wurde aktualisiert, um den Rückruf einzubeziehen, und ist mit der mobilen Plattform kompatibel:

     g_form.getReference('assigned_to', function(now_GR) {
         g_form.setValue('u_assigned_user_name', gr.user_name);
     });
    Führen Sie keine synchronen Ajax-Aufrufe durch Die mobile Plattform lässt synchrone Elemente nicht zu GlideAjax Anrufe. Jede Verwendung von GetXMLWait() In einem GlideAjax Anruf funktioniert auf der mobilen Plattform nicht. Stellen Sie sicher, dass alles GlideAjax Aufrufe sind asynchron. Weitere Informationen zu synchron vs. Asynchron GlideAjax Ruft und an GetXMLWait() , Siehe AJAX . Für Informationen zu verfügbar GlideAjax Methoden, siehe GlideAjax-API .
    Nicht synchron machen GlideRecord Anrufe

    Die mobile Plattform lässt synchrone Elemente nicht zu GlideRecord Anrufe. Stellen Sie sicher, dass alle vorhanden sind GlideRecord Anrufe umfassen einen Rückruf. Das folgende Skript enthält beispielsweise keinen Rückruf und ist nicht mit der mobilen Plattform kompatibel:

     var now_GR = new GlideRecord('incident');
     gr.addQuery('number', g_form.getValue('related_incident'));
     gr.query();
     gr.next();
     g_form.setValue('u_related_incident_description', gr.short_description);

    Das folgende Skript wurde aktualisiert, um den Rückruf einzubeziehen, und ist mit der mobilen Plattform kompatibel:

     var now_GR = new GlideRecord('incident');
     gr.addQuery('number', g_form.getValue('related_incident'));
     gr.query(function(now_GR) {
         gr.next();
         g_form.setValue('u_related_incident_description', gr.short_description);
     });
    Verwenden Sie keine Methoden, die auf der mobilen Plattform nicht verfügbar sind
    Aufgrund der Einschränkungen und eingeschränkten Funktionalität, die von der mobilen Plattform auferlegt werden, sind die folgenden Methoden nicht veraltet, aber auf der mobilen Plattform nicht verfügbar. Wenn diese auf der mobilen Plattform ausgeführt werden, erfolgt keine Aktion:
    • RelatedList anzeigen ()
    • AusblendenRelatedList ()
    • ShowRelatedLists ()
    • HideRelatedLists()
    • Flash()
    • GetSections()
    • AktivierenAnhänge()
    • Deaktivierbare Anhänge()
    • SetReadonly() (Beachten Sie das SetReadOnly() Ist verfügbar)
    • GetParameter()
    Aktivieren Sie Skripts für Mobilgeräte

    Skripts müssen für die mobile Plattform aktiviert sein.

    Hinweis:
    Das Fokussieren eines Elements auf einem mobilen Formular wird nicht unterstützt.

    UI-Richtlinien

    Verwenden Sie Führen Sie Skripts im UI-Typ aus Feld, um zu bestimmen, ob Skripts auf der mobilen Plattform, dem Desktop oder beidem ausgeführt werden. Aktualisieren Sie vorhandene Richtlinien, damit sie entweder für die mobile Plattform oder für beide gelten. Stellen Sie für neue Skripts auch sicher, dass die mobile Option oder beide ausgewählt ist.

    Navigatormodule

    Für vorhandenen Code müssen Module entweder in die Tabellen „sys_ui_Application“ oder „sys_ui_Module“ übertragen werden, damit sie auf der mobilen Plattform verfügbar sind. Stellen Sie bei der Entwicklung von neuem Code sicher, dass alle Module in den Tabellen „sys_ui_Application“ oder „sys_ui_Module“ erstellt werden.

    UI-Aktionen

    UI-Aktionen müssen in die sys_ui_ng_action-Tabelle übertragen werden, damit sie auf der mobilen Plattform angezeigt werden. UI-Aktionsskripts, die keine veralteten Methoden verwenden, erfordern keine Änderungen am Skript selbst. Stellen Sie für neue UI-Aktionen sicher, dass sie in der sys_ui_ng_action-Tabelle erstellt wurden.