¿Son válidos los espacios en "href"?

9

¿Es <a href=" #id ">(espacios de nota) correcto (X) HTML?

¿Significa lo mismo que <a href="#id">?

porton
fuente
1
En HTML ciertamente se validará y creo que son equivalentes. El agente de usuario debe eliminar los espacios en blanco iniciales y finales. Referencia: w3.org/TR/2014/REC-html5-20141028/…
MrWhite

Respuestas:

7

En (X) HTML 5, el aelemento ‘s hrefatributo

[...] debe tener un valor que sea una URL válida potencialmente rodeada de espacios .

Como sugiere el ancla, puede contener espacios iniciales y finales .

La sección vinculada deja en claro que estos espacios se eliminarán :

[...] el agente de usuario debe eliminar todos los caracteres de espacio que se encuentran al principio o al final de la cadena [...]


Si la URL real comienza / termina con (o contiene) espacios, debe codificarlos con un porcentaje %20.

Estos elementos tienen diferentes valores de URL:

<a href=" foo"></a> <!-- the URL is <foo> -->
<a href="%20foo"></a> <!-- the URL is < foo>, i.e., <%20foo> -->

Estos elementos tienen el mismo valor de URL:

<a href="%20foo"></a>
<a href="%20foo "></a>
<a href="%20foo   "></a>
<a href=" %20foo"></a>
<a href="    %20foo"></a>
<a href="    %20foo    "></a>
unor
fuente
0

¿Por qué harías esto? ¿Quién escribe un código así? Ese es un espacio innecesario entre "".

Los espacios literales no están permitidos en las URL y no forman parte de los datos. solo formateo para consumo humano.

Necesita eliminar el espacio en blanco. Algunos navegadores lo representan como un espacio.

Los espacios son validos. Y ambos son diferentes porque uno tiene espacios y el otro no. Eso significa que ese formato o enlace es diferente.

Josip Ivic
fuente
0

Sí, el navegador lo corregirá automáticamente, de todos modos, si usa espacios obtiene un error, puede escribirlos de otra manera:

una URL, por lo que un href, admite espacios, simplemente reemplácelos con "% 20" De todos modos si escribe

<a href="%20#id"> </a>

Esto dará como resultado un "#id" y no un "#id"

P.ej:

<a href="?How%20Are%20You">How are you?</a>
HAlex
fuente
-1

Puede ejecutar su marcado a través del validador usted mismo para averiguar si lo que escribió es válido. Pero el marcado válido no siempre es una indicación de transporte válido y los espacios deben estar codificados en URL (y la marca hash también).

Puede obtener más información buscando en Stackoverflow. En particular, esta respuesta SO . Sus personajes no son seguros de usar.

Robar
fuente