“Href” içindeki boşluklar geçerli mi?


Yanıtlar:


7

(X), HTML5, aeleman ‘ın hrefözelliği

[…], Potansiyel olarak boşluklarla çevrili geçerli bir URL olan bir değere sahip olmalıdır .

Çapanın önerdiği gibi, ön ve arka boşluklar içerebilir .

Bağlantılı bölüm, bu boşlukların soyulacağını açıkça gösterir :

[…] Kullanıcı aracısı dizenin başında veya sonunda olan tüm boşluk karakterlerini kaldırmalıdır […]


Gerçek URL boşluklarla başlıyor / bitiyorsa (veya içeriyorsa), bunları yüzde ile kodlamanız gerekir %20.

Bu öğelerin farklı URL değerleri vardır:

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

Bu öğeler aynı URL değerine sahiptir:

<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

Neden bunu yaptın? Kim böyle kod yazar? "" Arasında gereksiz alan var.

URL'lerde değişmez boşluklara izin verilmez ve verilerin bir parçası değildir. sadece insan tüketimi için biçimlendirme.

Boşluğu kaldırmanız gerekir. Bazı tarayıcılar bunu boşluk olarak oluşturur.

Alanlar geçerlidir. İkisi de farklı çünkü birinin boşlukları var, diğeri yok. Bu, biçimlendirme veya bağlantının farklı olduğu anlamına gelir.


0

Evet, tarayıcı tarafından otomatik olarak düzeltilecektir, yine de boşlukları kullanırsanız bir hata alırsanız başka bir şekilde yazabilirsiniz:

bir URL, yani bir href boşlukları destekler, sadece "% 20" ile değiştirin.

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

Bu, "# id" ile değil "# id" ile sonuçlanır

Örneğin:

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

-1

Yazdıklarınızın geçerli olup olmadığını öğrenmek için işaretlemenizi doğrulayıcı aracılığıyla kendiniz çalıştırabilirsiniz . Ancak geçerli işaretleme her zaman geçerli aktarımın bir göstergesi değildir ve boşluklar URL kodlu olmalıdır (ve karma işareti de).

Stackoverflow'da arama yaparak daha fazla bilgi edinebilirsiniz. Özellikle, bu SO cevap . Karakterlerinizin kullanımı güvenli değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.