Prácticas recomendadas: ejemplo de script en aplicaciones basadas en modelo

A continuación se muestran algunas de las sugerencias que podría tener en cuenta mientras escribe código JavaScript para aplicaciones basadas en modelo.

Defina nombres de funciones de JavaScript únicos

Al escribir las funciones que se usarán en las bibliotecas de JavaScript, las funciones se pueden cargar en un formulario con otras bibliotecas de JavaScript. Si otra biblioteca contiene una función que tenga el mismo nombre que una función que proporcione el usuario, la función que se cargue en último lugar será definida por la página. Para evitar que las funciones se sobrescriban con funciones de otra biblioteca, debe asegurarse de que las funciones tengan nombres únicos. Puede usar alguna de las siguientes estrategias:

  • Prefijo único de función: Defina cada una de las funciones utilizando la sintaxis estándar con un nombre coherente que incluya una convención de nomenclatura única, como se muestra en el siguiente ejemplo.

    function MyUniqueName_performMyAction()
     {
    // Code to perform your action.
       }
    
  • Nombres de biblioteca del espacio de nombres: como práctica recomendada, siempre debe crear bibliotecas JavaScript del espacio de nombres para evitar que sus funciones sean reemplazadas por funciones de otra biblioteca. Más información: Escribir el primer JavaScript

    var Sdk = window.Sdk || {};
    (function () {
    this.formOnLoad = function () {
      // Code to perform your actions.
       }
    this.attributeOnChange = function () {
    // Code to perform your actions.
      } 
     this.formOnSave = function () {
    // Display an alert dialog
    }
    }). call(Sdk);
    

    A continuación, cuando use la función, podrá especificar el nombre completo. El siguiente ejemplo muestra esto.

    Sdk.attributeOnChange();
    

Evitar usar métodos incompatibles

En Internet, puede encontrar muchos ejemplos o sugerencias que describen el uso de métodos incompatibles. Pueden incluir el aprovechamiento de función interna no documentada para controles de página. Estos métodos pueden funcionar pero, al no estar admitidos, no puede esperar que continuarán funcionando en versiones futuras de aplicaciones basadas en modelos.

Evite utilizar jQuery para scripts de formularios

No debe usar jQuery en scripts de formularios y comandos de cinta. La mayoría de las ventajas que proporciona jQuery es que permite la manipulación sencilla entre exploradores del DOM. Esto no se admite de manera explícita dentro de los scripts de formularios y comandos de la cinta de opciones. Restrinja los scripts para usar los objetos y métodos disponibles en el modelo de objetos Xrm. Si hay diferentes versiones de jQuery utilizadas por la plataforma o entre los componentes de la página en la que se ejecuta su script, puede haber conflictos que causen problemas. Dado que la plataforma y otros componentes pueden cambiar su versión en cualquier momento, puede encontrar un problema en cualquier momento al usar jQuery.

Si aún está pensando en usar jQuery a pesar de los riesgos, tenga en cuenta lo siguiente:

  • Para el máximo rendimiento, no cargue jQuery en la página si no lo necesita.
  • Se admite el uso de $.ajax para realizar solicitudes a los servicios web de aplicaciones basads en modelos, aunque hay alternativas. La alternativa al uso de $.ajax es usar el objeto XMLHttpRequest de los exploradores directamente. El método $.ajax de jQuery sólo es un contenedor para este objeto. Si usa el objeto XMLHttpRequest nativo directamente, no necesita cargar jQuery.
  • Cada versión de jQuery que se carga en una página puede ser una versión diferente. Diferentes versiones de jQuery tienen distintos comportamientos y estos pueden causar problemas cuando se cargue varias versiones de jQuery en la misma página. Hay una técnica para mitigar esto, pero depende de editar la biblioteca jQuery y cualquier otra biblioteca que dependa de jQuery.

Escriba su código para varios exploradores

Las aplicaciones basadas en modelos admiten varios navegadores. Asegúrese de que los scripts que utilice funcionarán con todos los exploradores admitidos. Si la lógica de script solo realiza acciones compatibles y usa el modelo de objetos XRM, los cambios necesarios para admitir diferentes exploradores podrían ser pequeños.

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).