wake-up-neo.net

Sind Leerzeichen in "href" gültig?

Ist <a href=" #id "> (Leerzeichen) korrekt (X) HTML?

Bedeutet es dasselbe wie <a href="#id">?

9
porton

In (X) HTML5 wird das a -Elementhref -Attribut

[…] Muss einen Wert haben, der eine gültige URL ist, die möglicherweise von Leerzeichen umgeben ist.

Wie der Anker vermuten lässt , kann er führende und nachfolgende Leerzeichen enthalten .

Der verknüpfte Abschnitt macht deutlich, dass diese Leerzeichen entfernt werden :

[…] Das Benutzerprogramm muss alle Leerzeichen entfernen, die sich am Anfang oder Ende der Zeichenfolge befinden. […]


Wenn die eigentliche URL mit Leerzeichen beginnt/endet (oder Leerzeichen enthält), müssen Sie diese mit %20 prozentual codieren.

Diese Elemente haben unterschiedliche URL-Werte:

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

Diese Elemente haben denselben URL-Wert:

<a href="%20foo">…</a>
<a href="%20foo ">…</a>
<a href="%20foo   ">…</a>
<a href=" %20foo">…</a>
<a href="    %20foo">…</a>
<a href="    %20foo    ">…</a>
6
unor

Wieso würdest du das machen? Wer schreibt so einen Code? Das ist unnötiger Abstand zwischen "".

Literale Leerzeichen sind in URLs nicht zulässig und gehören nicht zu den Daten. nur Formatierung für den menschlichen Verzehr.

Sie müssen das Leerzeichen entfernen. Einige Browser rendern es als Leerzeichen.

Leerzeichen sind gültig. Und beide sind unterschiedlich, weil einer Leerzeichen hat, der andere keine. Das bedeutet, dass Formatierung oder Verknüpfung unterschiedlich sind.

0
Josip Ivic

Ja, es wird vom Browser automatisch korrigiert. Wenn bei der Verwendung von Leerzeichen eine Fehlermeldung angezeigt wird, können Sie diese auch auf andere Weise eingeben:

eine URL, also ein href, unterstützt Leerzeichen. Ersetzen Sie sie beim Schreiben einfach durch "% 20"

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

Dies führt zu einer "#id" und nicht "#id"

Z.B:

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