# Crear scripts en PáginasWeb HMI

La creación de scripts en PáginasWeb HMI se basa en el lenguaje JavaScript, siendo estos compatibles con HTML5.

Los scripts en PáginasWeb HMI se escriben utilizando el Editor de scripts, caracterizándose su creación por lo siguiente:

- Se ejecuta en un navegador web y se puede ejecutar únicamente cuando la tarea está en línea.
- Las etiquetas se almacenan al principio del script; si se actualiza el valor de etiqueta por la acción de otro componente del sistema mientras se está ejecutando el script en la PáginaWeb HMI, dicho cambio no afectará al valor de etiqueta en el propio script. Una vez terminada la ejecución del script en la PáginaWeb HMI, se escribirá el valor de etiqueta actualizado en la etiqueta, sobrescribiéndose cualquier cambio que haya ocurrido en el valor de etiqueta mientras se estaba ejecutando el script en la PáginaWeb HMI.

- Para las acciones que sólo afectan a la HMI, utilice scripts controladores de eventos de elementos de PáginaWeb. Si la acción requiere una actualización inmediata, utilice una promesa en el código script. Las promesas deben utilizarse para obtener los valores de retorno de un script en la PáginaWeb y ejecutar seguidamente un código script dependiente.

  Nota: Para más información sobre el uso de las promesas, consulte el tema Promesas JavaScript en PáginasWeb.

- Scripts controladores de eventos de elementos de PáginaWeb

  Estos scripts se utilizan con eventos asociados a elementos de PáginaWeb como, por ejemplo, "On Mouse Enter" (al entrar el ratón sobre el objeto), "On Mouse Up" (al acabar de liberar el botón izquierdo del ratón sobre el objeto imagen), "On Changed" (al cambiar), etc.

Los scripts creados en las PáginasWeb HMI pueden interactuar con lo siguiente:

- Las propiedades de los elementos de PáginaWeb que se publican como etiquetas (Etiquetas de propiedades de los elementos de PáginaWeb).

  Esto ofrece la posibilidad de acceder a propiedades de elemento, como la propiedad Value del elemento Slider (control deslizante) o la propiedad Text de un elemento TextBox (cuadro de texto), por medio del uso de etiquetas.

  Por ejemplo:

      $MyTag = 45;

      console.log($MyErrorMessageTag);

      $WebPages.WebPage.TextBox.Text = "new text";

      $WebPages.WebPage.DataTable.Content = { Header: ["Header1"], Data: [ ["test"], ["test2] ] }

      $WebPages.WebPage.DataTable.Content = new TableData(["Header1"], [ ["test"], ["test2"] ] )

  Nota: Los dos ejemplos de DataTable proporcionan el mismo resultado.

Nota:

- Para más información sobre el lenguaje de programación JavaScript, consulte los siguientes documentos (se requiere acceso a Internet):

  - Guía de JavaScript de Mozilla
  - Referencia del lenguaje JavaScript de Mozilla
  - "JavaScript. La guía definitiva" de David Flanagan