Czy spacje w „href” są prawidłowe?


Odpowiedzi:


7

W (X) HTML5, aelementu „s hrefatrybut

[…] Musi mieć wartość, która jest prawidłowym adresem URL potencjalnie otoczonym spacjami .

Jak sugeruje kotwica, może zawierać spacje początkowe i końcowe .

Połączona sekcja wyjaśnia, że te przestrzenie zostaną usunięte :

[…] Agent użytkownika musi usunąć wszystkie znaki spacji znajdujące się na początku lub na końcu ciągu […]


Jeśli rzeczywisty adres URL zaczyna się / kończy spacjami (lub zawiera), musisz je kodować procentowo za pomocą %20.

Te elementy mają różne wartości adresów URL:

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

Te elementy mają tę samą wartość adresu 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

Dlaczego miałbyś to zrobić? Kto pisze taki kod? To niepotrzebne miejsce pomiędzy „”.

Literalne spacje nie są dozwolone w adresach URL i nie stanowią części danych. po prostu formatowanie do spożycia przez ludzi.

Musisz usunąć biały znak. Niektóre przeglądarki renderują go jako spację.

Spacje są prawidłowe. I oba są różne, ponieważ jedno ma spacje, drugie nie. Oznacza to, że formatowanie lub łącze jest inne.


0

Tak, zostanie to automatycznie skorygowane przez przeglądarkę. W każdym razie, jeśli używasz spacji, pojawia się błąd, który możesz napisać w inny sposób:

URL, więc href, obsługuje spacje, po prostu zamień je na „% 20” W każdym razie, jeśli piszesz

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

Spowoduje to „#id”, a nie „#id”

Na przykład:

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

-1

Możesz sam uruchomić znaczniki za pomocą walidatora, aby sprawdzić, czy to, co napisałeś, jest prawidłowe. Ale prawidłowy znacznik nie zawsze wskazuje na prawidłowy transport, a spacje muszą być zakodowane w adresie URL (a także znak krzyżyka).

Możesz dowiedzieć się więcej, przeszukując Stackoverflow. W szczególności ta SO odpowiedź . Twoje postacie nie są bezpieczne w użyciu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.