ScriptLoader : Client

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • Permet de charger des scripts de manière asynchrone.

    Vous pouvez utiliser l’API ScriptLoader dans des scripts côté client pour une interface utilisateur de plateforme/de bureau à l’aide des API ListV2 et ListV3. Elle n’est pas disponible pour Service Portal, Mobile ou Agent Workspace.

    Vous accédez aux méthodes ScriptLoader à l’aide de l’objet global ScriptLoader.

    ScriptLoader - getScripts(Scripts de tableau, rappel de fonction)

    Charge les scripts de façon asynchrone.

    Tableau 1. Paramètres
    Nom Type Description
    scripts Tableau Tableau de scripts à charger.
    rappel Fonction Fonction à appeler lorsque les scripts ont été chargés. La fonction de rappel ne doit pas avoir d’arguments.
    Tableau 2. Renvoie
    Type Description
    nul
    var scriptFiles=[
    'scripts/classes/providers/ProviderUI.js',
    'scripts/classes/providers/wf_provider_client_script.js'
    ];
    
    ScriptLoader.getScripts(scriptFiles, function() {
      ProviderUI.setFields(['input_transform']);
      ProviderUI.apply();
      ProviderUI.removeDisabledAttribute("sys_readonly.wf_element_activity.access");
    }

    ScriptLoader - getScripts(String filePath, Rappel de fonction)

    Obtient les scripts de manière asynchrone.

    Tableau 3. Paramètres
    Nom Type Description
    Filepath Chaîne Chemin d’accès, y compris le nom de fichier, qui contient un ou plusieurs scripts.
    rappel Fonction Fonction à appeler après le chargement des scripts. Cette fonction de rappel ne doit pas avoir d’arguments.
    Tableau 4. Renvoie
    Type Description
    nul

    Cet exemple montre comment charger un script d’utilitaire, puis exécuter la fonction getDepartment( ).

    // Client script to load a utility script and run the getDepartment callback function
    ScriptLoader.getScripts('sn_ui_script_util.Utilities.jsdbx', getDepartment);
    
    function getDepartment() {
      var req = sn_ui_script_util.Utilities.rest('json');
      req.addParam("sysparm_query", "sys_id=" + newValue);
      req.addParam("sysparm_fields", "department");
      req.addParam("sysparm_display_value", true);
      req.success(updateNotes);
      req.get("/api/now/table/sys_user");
    }
    
    function updateNotes(data) {
      g_form.setValue("work_notes", data.result[0].department.display_value);
    }