Saltar al contenido

Etiqueta <script> de HTML

La etiqueta HTML <script> declara scripts del lado del cliente (JavaScript) en un documento HTML. Al definir un script del lado del cliente, la etiqueta <script> se utiliza para la manipulación de imágenes, validación de formularios y cambios dinámicos de contenido. La etiqueta puede incluir el script en sí mismo o un enlace a un archivo externo que contenga scripts. La ruta al archivo externo se especifica con el atributo src.

peligro

Si conectas un archivo externo con scripts, no incrustes el script en la misma etiqueta <script>.

La etiqueta HTML <script> puede colocarse en el <head> elemento, así como dentro del <body> elemento. Los scripts que deben ejecutarse primero a menudo se colocan en el elemento <head> con defer, o al final del elemento <body>. La etiqueta <script> puede utilizarse varias veces en un documento HTML.

ejemplo de etiqueta script

Sintaxis

La etiqueta <script> se usa en pares. El contenido se escribe entre las etiquetas de apertura (<script>) y cierre (</script>).

Notas importantes

Existen varias formas en las que se puede ejecutar un script externo:

  • Por defecto (sin async ni defer), el script bloquea el análisis de HTML y se ejecuta inmediatamente al encontrarse.
  • El atributo defer="defer" indica que el script se ejecuta después de que el documento HTML haya sido completamente analizado.
  • El atributo async="async" indica que el script se ejecuta de forma asíncrona, tan pronto como se descarga, sin bloquear el análisis.

Para seleccionar un elemento HTML, JavaScript utiliza el método document.getElementById().

Ejemplo de la etiqueta HTML <script>:

Etiqueta HTML script

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p id="example"></p>
    <script>
      document.getElementById("example").innerHTML = "My first JavaScript code";
    </script>
  </body>
</html>

Diferencias entre HTML 4.01 y HTML5

HTML 4 requiere el atributo type, mientras que en HTML5 es opcional. En HTML5, el atributo async es nuevo. HTML5 no admite el atributo xml:space de HTML 4.01.

Diferencias entre HTML y XHTML

En XHTML, el contenido dentro de los scripts se declara como #PCDATA (en lugar de CDATA). En estos casos, las entidades se analizarán.

En XHTML, todos los caracteres especiales deben codificarse, o todo el contenido debe envolverse dentro de una sección CDATA.

Ejemplo de etiqueta HTML script

html
<script type="text/javascript">
//<![CDATA[
var i = 10;
if (i < 5) {
  // some code
}
//]]>
</script>

Atributos

AtributoValorDescripción
asyncasyncIndica que el script se ejecuta de forma asíncrona.
charsetcharsetDefine la codificación de caracteres, utilizada en un archivo externo con el código JavaScript. Obsoleto en HTML5.
deferdeferIndica que el script debe ejecutarse después de la carga de la página.
srcURLDefine la URL de un archivo externo con el código JavaScript. (Puede definirse como relativa o absoluta).
typemedia_typeDefine el tipo MIME del script.

La etiqueta <script> admite los Atributos Globales y los Atributos de Evento.

Práctica

¿Qué hace la etiqueta HTML <script>?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.