Допустимы ли пробелы в «href»?


9

Правильно ли <a href=" #id ">(пробелы) (X) HTML?

Значит ли это так же, как <a href="#id">?


1
В HTML это, безусловно, подтвердит, и я считаю, что они эквивалентны. Пользовательский агент должен удалить начальные и конечные пробелы. Ссылка: w3.org/TR/2014/REC-html5-20141028/…
MrWhite,

Ответы:


7

В (X) , HTML5, в aэлементе «сек hrefатрибут

[…] Должно иметь значение, которое является допустимым URL-адресом, потенциально окруженным пробелами .

Как подсказывает якорь, он может содержать начальные и конечные пробелы .

Связанный раздел проясняет, что эти пробелы будут удалены :

[…] Пользовательский агент должен удалить все пробелы в начале или в конце строки […]


Если фактический URL-адрес начинается / заканчивается пробелами (или содержит пробелы), их необходимо кодировать в процентах %20.

Эти элементы имеют разные значения URL:

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

Эти элементы имеют одинаковое значение 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>

0

Зачем ты это делаешь? Кто пишет такой код? Это ненужный пробел между "".

Буквенные пробелы в URL не допускаются, и они не являются частью данных. просто форматирование для потребления человеком.

Вы должны удалить пробелы. Некоторые браузеры отображают его как пробел.

Пробелы действительны. И оба они разные, потому что у одного есть пробелы, у другого нет. Это означает, что форматирование или ссылка отличаются.


0

Да, это будет автоматически исправлено браузером, в любом случае, если при использовании пробелов вы получите ошибку, вы можете написать их другим способом:

URL, поэтому href поддерживает пробелы, просто замените их на «% 20». В любом случае, если вы напишите

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

Это приведет к "#id", а не "#id"

Например:

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

-1

Вы можете самостоятельно выполнить разметку через валидатор, чтобы выяснить, действительно ли написанное вами действительно. Но действительная разметка не всегда указывает на допустимый транспорт, и пробелы должны быть закодированы URL (и также хеш-меткой).

Вы можете узнать больше, выполнив поиск Stackoverflow. В частности, это так ответ . Ваши персонажи небезопасны для использования.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.