Os espaços no "href" são válidos?

9

É <a href=" #id ">(espaços de nota) corretos (X) HTML?

Significa o mesmo que <a href="#id">?

Porton
fonte
11
Em HTML, certamente será validado e acredito que sejam equivalentes. O agente do usuário deve remover os espaços em branco à esquerda e à direita. Referência: w3.org/TR/2014/REC-html5-20141028/…
MrWhite 21/05

Respostas:

7

Em (X) HTML 5, o aelemento de hrefatributo

[…] Deve ter um valor que seja um URL válido potencialmente cercado por espaços .

Como a âncora sugere, ela pode conter espaços iniciais e finais .

A seção vinculada deixa claro que esses espaços serão removidos :

[…] O agente do usuário deve remover todos os caracteres de espaço que estão no início ou no final da string […]


Se o URL real começar / terminar com (ou contiver) espaços, você precisará codificá-los com porcentagem %20.

Esses elementos têm diferentes valores de URL:

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

Estes elementos têm o mesmo 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
fonte
0

Por que você faria isso? Quem escreve código assim? Esse é um espaço desnecessário entre "".

Espaços literais não são permitidos em URLs e não fazem parte dos dados. apenas formatação para consumo humano.

Você precisa remover o espaço em branco. Alguns navegadores o processam como um espaço.

Os espaços são válidos. E os dois são diferentes porque, um tem espaços, o outro não. Isso significa que a formatação ou o link é diferente.

Josip Ivic
fonte
0

Sim, ele será corrigido automaticamente pelo navegador; de qualquer maneira, se você usar espaços, receberá um erro e poderá escrevê-los de outra maneira:

um URL, portanto, um href, suporta espaços, basta substituí-los por "% 20" De qualquer forma, se você escrever

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

Isso resultará em um "#id" e não "#id"

Por exemplo:

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

Você pode executar sua marcação através do validador para descobrir se o que você escreveu é válido. Mas a marcação válida nem sempre é uma indicação de transporte válido e os espaços devem ser codificados em URL (e a marca de hash também).

Você pode saber mais pesquisando Stackoverflow. Em particular, esta resposta SO . Seus personagens não são seguros para usar.

Roubar
fonte