Aşağıdaki URL'nin davranışında herhangi bir fark var mı?
Neden &
eklendiğini bilmiyorum , herhangi bir fark yaratır mı?
www.testurl.com/test?param1=test&current=true
karşı
www.testurl.com/test?param1=test¤t=true
Aşağıdaki URL'nin davranışında herhangi bir fark var mı?
Neden &
eklendiğini bilmiyorum , herhangi bir fark yaratır mı?
www.testurl.com/test?param1=test&current=true
karşı
www.testurl.com/test?param1=test¤t=true
<p>www.testurl.com/test?param1=test&current=true</p>
Veya gibi bir şey mi merak ediyorsunuz <a href="www.testurl.com/test?param1=test&current=true">linky</a>
?
Yanıtlar:
&
"Bir karakter referansının başlangıcı" için HTML'dir.
&
"Ve işareti" için karakter referansıdır.
¤t;
standart bir karakter referansı değildir ve bu nedenle bir hatadır (tarayıcılar hata giderme gerçekleştirmeye çalışabilir, ancak buna güvenmemelisiniz).
Gerçek bir karakter için bir karakter referansı kullandıysanız (örneğin ™
), istediğiniz dizinin yerine URL'de (™) görünecektir.
( Kullandığınız HTML sürümüne bağlı olarak, bir karakter referansını a ile sonlandırmanız gerekebileceğini ;
ve bu nedenle &trade=
™ olarak kabul edileceğini unutmayın. HTML 4, sonraki karakter sözcük olmayan bir karakter ise ( gibi =
) ancak bazı tarayıcılarda (Merhaba Internet Explorer) bununla ilgili sorunlar var).
HTML'yi tanımaz, &
ancak tanıyacaktır &
çünkü &
HTML'deki ile aynıdır
Birinin yaptığı bu gönderiye baktım: http://www.webmasterworld.com/forum21/8851.htm
Kaynağım : http://htmlhelp.com/tools/validator/problems.html#amp
Ve işareti ("&") içeren bir URL eklenirken başka bir yaygın hata oluşur:
Bu geçersiz:
a href = "foo.cgi? section = 1 & section = 2 & copy = 3 & lang = tr"
Açıklama:
Bu örnek, "bilinmeyen varlık bölümü" için bir hata oluşturur çünkü
"&"
öğesinin bir varlık başvurusu başlattığı varsayılır. Tarayıcılar genellikle bu tür hatalardan güvenli bir şekilde kurtulur, ancak bazı durumlarda gerçek sorunlar ortaya çıkar. Bu örnekte, birçok tarayıcı = 3'ü & copy = 3'ü doğru bir şekilde © = 3'e dönüştürerek bağlantının başarısız olmasına neden olabilir. ⟨, Solu gösteren açılı parantez için HTML varlığı olduğundan, bazı tarayıcılar & lang = en'i 〈= en'e de dönüştürür. Ve eski bir tarayıcı, § varlığını bile bulur, & section = 2'yi §ion = 2'ye dönüştürür.
Dolayısıyla buradaki amaç, web sitenizi doğrulamaya çalışırken sorunlardan kaçınmaktır. Bu nedenle &
, biçimlendirmenize bir URL yazarken ve işaretlerinizi ile değiştirmelisiniz.
Değiştirilmesi Not
&
ile&
; yalnızca URL'yi HTML olarak yazarken yapılır, burada"&"
özel bir karakter ("<" ve ">" ile birlikte). Aynı URL'yi düz bir metin e-posta mesajına veya tarayıcınızın konum çubuğuna yazarken, kullanırsınız"&"
ve kullanmazsınız"&"
. HTML ile, tarayıcı çevirir"&"
için"&"
Web sunucusu yalnızca görecekti yüzden"&"
değil"&"
isteğin sorgu dizesindeki.
Bu yardımcı olur umarım : )
Bu harika bir örnek. Bir metin düğümüne¤t
ayrıştırıldığında , dönüştürülür . Bir öznitelik değeri olarak ayrıştırıldığında, olarak ayrıştırılır .¤t
¤t
İsterseniz ¤t
bir metin düğümünde, yazman gereken &current
İşaretlemenize.
Kanlı ayrıntılar HTML5 ayrıştırma spesifikasyonundadır - İsimli Karakter Referans Durumu
bir dizi karakter yapıyorsanız. Yapmak:
let linkGoogle = 'https://www.google.com/maps/dir/?api=1';
let origin = '&origin=' + locations[0][1] + ',' + locations[0][2];
aNav.href = linkGoogle + origin;
&
değil &
, HTML ile ilgilidir .