Skip to main content
Validación HTML

Valor incorrecto “” para el atributo “src” en el elemento “script”: debe ser no vacío.

Acerca de este problema HTML

El atributo src en un elemento <script> le dice al navegador dónde obtener un archivo JavaScript externo. Según la especificación HTML, cuando el atributo src está presente, su valor debe ser una URL válida no vacía. Una cadena vacía no califica como una URL válida, por lo que el validador la marca como un error.

Este problema suele surgir en algunos escenarios comunes:

  • Placeholders de plantillas o CMS — Un motor de plantillas o sistema de gestión de contenidos genera un src vacío cuando no se configura ninguna URL de script.
  • JavaScript dinámico — El código del lado del cliente está destinado a establecer el src más tarde, pero el HTML inicial se entrega con un valor vacío.
  • Errores de copiar y pegar — El atributo se añadió anticipando un archivo de script que nunca se especificó.

Más allá de fallar la validación, un src vacío causa problemas reales. La mayoría de los navegadores interpretan un src vacío como una URL relativa que se resuelve a la URL de la página actual. Esto significa que el navegador realizará una petición HTTP adicional para volver a obtener el documento HTML actual e intentar parsearlo como JavaScript, desperdiciando ancho de banda, ralentizando la carga de la página y potencialmente generando errores en la consola. También puede causar efectos secundarios inesperados en los logs del servidor y las analíticas.

Cómo solucionarlo

Elige el enfoque que coincida con tu intención:

  1. Proporciona una URL válida — Si necesitas un script externo, establece src con la ruta de archivo correcta o la URL completa.
  2. Usa un script en línea — Si tu JavaScript está escrito directamente en el HTML, elimina el atributo src por completo. Ten en cuenta que cuando src está presente, los navegadores ignoran cualquier contenido entre las etiquetas <script> de apertura y cierre.
  3. Elimina el elemento — Si el script no es necesario, elimina el elemento <script> por completo.

También ten en cuenta:

  • Asegúrate de que la ruta del archivo sea correcta en relación con la ubicación del archivo HTML.
  • Si usas una URL absoluta, verifica que sea accesible y devuelva contenido JavaScript.
  • Si un script solo debe cargarse condicionalmente, maneja la condición en tu lógica del lado del servidor o de construcción en lugar de generar un src vacío.

Ejemplos

❌ Inválido: atributo src vacío

<script src=""></script>

Esto desencadena el error de validación porque el valor de src es una cadena vacía.

❌ Inválido: atributo src solo con espacios en blanco

<script src="  "></script>

Un valor que contiene solo espacios en blanco tampoco es una URL válida y producirá el mismo error.

✅ Solucionado: script externo válido

<script src="js/app.js"></script>

El atributo src contiene una URL relativa válida que apunta a un archivo JavaScript real.

✅ Solucionado: script externo válido con una URL completa

<script src="https://example.com/js/library.min.js"></script>

✅ Solucionado: script en línea sin src

Si quieres escribir JavaScript directamente en tu HTML, omite el atributo src:

<script>
  console.log("Este es un script en línea.");
</script>

✅ Solucionado: omitir condicionalmente el elemento

Si la URL del script proviene de una variable de plantilla que podría estar vacía, manéjalo a nivel de plantilla para que el elemento <script> solo se renderice cuando haya una URL disponible. Por ejemplo, en un lenguaje de plantillas:

<!-- Pseudocódigo — solo genera la etiqueta cuando existe la URL -->

<!-- {% if script_url %} -->

<script src="analytics.js"></script>
<!-- {% endif %} -->

Esto previene que el src vacío llegue al navegador.

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.