& Amp ne için kullanılır


114

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&current=true


1
Bir bağlam verebilir misin? Bu bir form eyleminde mi? Sadece bir sayfada mı görüntüleniyor?
jprofitt

@ user470184 Olumsuz oy vermedim ama düşündüm. Bu konuyla ilgili SO hakkında zaten bir ton bilgi var.
Charles Sprayberry

"Genel davranış" hala oldukça belirsizdir. <p>www.testurl.com/test?param1=test&amp;current=true</p>Veya gibi bir şey mi merak ediyorsunuz <a href="www.testurl.com/test?param1=test&amp;current=true">linky</a>?
jprofitt

@ jprofitt <a href="www.testurl.com/test?param1=test&current=true"> linky </a>
blue-sky

Yanıtlar:


134

& "Bir karakter referansının başlangıcı" için HTML'dir.

&amp; "Ve işareti" için karakter referansıdır.

&current; 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 &trade;), 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).



5

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 &amp;, biçimlendirmenize bir URL yazarken ve işaretlerinizi ile değiştirmelisiniz.

Değiştirilmesi Not &ile &amp; 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 "&amp;". HTML ile, tarayıcı çevirir "&amp;"için "&"Web sunucusu yalnızca görecekti yüzden "&" değil "&amp;"isteğin sorgu dizesindeki.

Bu yardımcı olur umarım : )



-2

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;

1
Soru URL'lerle &ampdeğil &, HTML ile ilgilidir .
Quentin
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.