Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

<script>: The Script element

Baseline
Widely available
*

This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.

* Some parts of this feature may have varying levels of support.

El elemento <script> HTML se utiliza para incrustar código ejecutable o datos; típicamente se usa para incrustar o hacer referencia a código JavaScript. El elemento <script> también puede usarse con otros lenguajes, como el lenguaje de programación de shaders GLSL de WebGL y JSON.

Atributos

Este elemento incluye los atributos globales.

async

Para scripts clásicos, si el atributo async está presente, el script clásico se descargará en paralelo al análisis y se evaluará tan pronto como esté disponible.

Para scripts de módulo, si el atributo async está presente, los scripts y todas sus dependencias se descargarán en paralelo al análisis y se evaluarán tan pronto como estén disponibles.

Advertencia: Este atributo no debe usarse si el atributo src está ausente (es decir, para scripts en línea), ya que en este caso no tendría efecto.

Este atributo permite eliminar JavaScript bloqueante del analizador, donde el navegador tendría que cargar y evaluar los scripts antes de continuar con el análisis. En este caso, defer tiene un efecto similar.

Si el atributo se especifica junto con el atributo defer, el elemento actuará como si solo se hubiera especificado el atributo async.

Este es un atributo booleano: la presencia de un atributo booleano en un elemento representa el valor verdadero, y la ausencia del atributo representa el valor falso.

Consulte Compatibilidad con navegadores para notas sobre el soporte del navegador. Consulte también Scripts asíncronos para asm.js.

attributionsrc

Especifica que deseas que el navegador envíe un encabezado Attribution-Reporting-Eligible junto con la solicitud del recurso del script. En el lado del servidor, esto se utiliza para activar el envío de un encabezado Attribution-Reporting-Register-Source o Attribution-Reporting-Register-Trigger en la respuesta, para registrar una fuente de atribución o un disparador de atribución basado en JavaScript, respectivamente. Qué encabezado de respuesta se debe enviar depende del valor del encabezado Attribution-Reporting-Eligible que activó el registro.

Nota: Alternativamente, las fuentes de atribución o disparadores basados en JavaScript se pueden registrar enviando una solicitud fetch() que contenga la opción attributionReporting (ya sea configurada directamente en la llamada fetch() o en un objeto Request pasado a la llamada fetch()), o enviando un XMLHttpRequest con setAttributionReporting() invocado en el objeto de solicitud.

Hay dos versiones de este atributo que puedes configurar:

  • Booleano, es decir, solo el nombre attributionsrc. Esto especifica que deseas que el encabezado Attribution-Reporting-Eligible se envíe al mismo servidor al que apunta el atributo src. Esto es adecuado cuando manejas el registro de fuentes de atribución o disparadores en el mismo servidor. Al registrar un disparador de atribución, esta propiedad es opcional y se usará un valor de cadena vacía si se omite.

  • Valor que contiene una o más URL, por ejemplo:

    html
    <script
      src="myscript.js"
      attributionsrc="https://a.example/register-source https://b.example/register-source"></script>
    

    Esto es útil en casos donde el recurso solicitado no está en un servidor que controlas o simplemente deseas manejar el registro de la fuente de atribución en un servidor diferente. En este caso, puedes especificar una o más URL como el valor de attributionsrc. Cuando ocurra la solicitud del recurso, el encabezado Attribution-Reporting-Eligible se enviará a las URL especificadas en attributionSrc además del origen del recurso. Estas URL pueden responder con un encabezado Attribution-Reporting-Register-Source o Attribution-Reporting-Register-Trigger según sea necesario para completar el registro.

    Nota: Especificar múltiples URL significa que se pueden registrar múltiples fuentes de atribución en la misma función. Por ejemplo, podrías tener diferentes campañas que estás tratando de medir el éxito, lo que implica generar diferentes informes sobre diferentes datos.

Consulta la API de informes de atribución para más detalles.

blocking

Este atributo indica explícitamente que ciertas operaciones deben bloquearse al obtener el script. Las operaciones que se deben bloquear deben ser una lista separada por espacios de tokens de bloqueo enumerados a continuación.

  • render: Se bloquea el renderizado del contenido en la pantalla.
crossorigin

Los elementos script normales pasan información mínima al window.onerror para scripts que no superan las comprobaciones estándar de CORS. Para permitir el registro de errores en sitios que utilizan un dominio separado para medios estáticos, usa este atributo. Consulta Atributos de configuración CORS para una explicación más descriptiva de sus argumentos válidos.

defer

Este atributo booleano se establece para indicar al navegador que el script debe ejecutarse después de que el documento haya sido analizado, pero antes de que se dispare el evento