Skip to main content
Validación HTML

Valor incorrecto X para el atributo “src” en el elemento “script”: Carácter ilegal en la consulta: “”” no está permitido.

Acerca de este problema HTML

Cuando el analizador HTML del navegador encuentra un atributo src, espera que el valor entre las comillas de apertura y cierre sea una URL válida. Las URLs tienen reglas estrictas sobre qué caracteres están permitidos — una comilla doble literal (") no es uno de ellos. Si aparece un carácter " dentro de la URL, el validador lo marca como un carácter ilegal en la cadena de consulta (u otras partes de la URL).

Este error a menudo no proviene de una comilla intencionalmente incorporada en la URL misma. En su lugar, generalmente es un síntoma de HTML malformado alrededor del atributo. Las causas comunes incluyen:

  • Comillas perdidas después del valor del atributo, como escribir src="https://example.com/script.js"async"" en lugar de separar correctamente los atributos.
  • Comillas de cierre accidentalmente duplicadas, como src="https://example.com/script.js"".
  • Atributos booleanos con valores de cadena vacía incorrectos, como async"" en lugar de solo async, lo que hace que el analizador interprete las comillas adicionales como parte del valor del src precedente.
  • Errores de copiar y pegar que introducen comillas tipográficas (" ") o comillas adicionales en la URL.

Esto importa por varias razones. Los atributos src malformados pueden hacer que el script falle completamente al cargar, rompiendo la funcionalidad de tu página. También viola la especificación HTML, lo que puede llevar a comportamiento impredecible entre diferentes navegadores ya que cada analizador trata de recuperarse del error de manera diferente.

Para solucionar el problema, inspecciona cuidadosamente la etiqueta <script> y asegúrate de que:

  1. El valor del atributo src contenga solo una URL válida sin caracteres " sin escapar.
  2. Las comillas de apertura y cierre alrededor del valor del atributo estén correctamente balanceadas.
  3. Los atributos estén separados por espacios en blanco — no unidos.
  4. Los atributos booleanos como async y defer estén escritos como palabras clave sin valores.

Si genuinamente necesitas un carácter de comillas dobles en una cadena de consulta (lo cual es raro), codifícalo como %22.

Ejemplos

Incorrecto — comillas perdidas entre atributos

En este ejemplo, el atributo async está malformado como async"", lo que hace que el analizador interprete las comillas adicionales como parte de la URL del src:

<script src="https://example.com/js/app.js?ver=3.1" async""></script>

Incorrecto — comilla de cierre duplicada

Aquí, una " adicional al final del valor del src crea un carácter ilegal en la URL:

<script src="https://example.com/js/app.js?ver=3.1""></script>

Incorrecto — comillas tipográficas del copiar y pegar

Las comillas curvadas/tipográficas copiadas de un procesador de texto no son delimitadores de atributo HTML válidos y se tratan como parte de la URL:

<script src="https://example.com/js/app.js?ver=3.1"></script>

Correcto — atributos limpios con comillas apropiadas

<script src="https://example.com/js/app.js?ver=3.1" async></script>

Correcto — atributo booleano escrito como palabra clave

Los atributos booleanos como async y defer no necesitan un valor. Simplemente incluye el nombre del atributo:

<script src="https://example.com/js/app.js?ver=3.1" defer></script>

Aunque async="async" es técnicamente válido según la especificación, la forma más limpia y común es el atributo sin valor. Evita patrones de cadena vacía como async="" colocados sin espaciado apropiado, ya que pueden llevar exactamente a los errores de comillas descritos aquí.

Correcto — documento válido completo

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Valid Script Example</title>
    <script src="https://example.com/js/app.js?ver=3.1" async></script>
  </head>
  <body>
    <p>Page content here.</p>
  </body>
</html>

Si estás generando etiquetas <script> dinámicamente (a través de un CMS, motor de plantillas, o herramienta de construcción), revisa el código fuente de la plantilla en lugar de solo la salida renderizada. Las comillas perdidas a menudo se introducen por concatenación de cadenas incorrecta o lógica de escape en el código del lado del servidor.

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.