Bisakah Anda memberi konteks? Apakah ini dalam bentuk tindakan? Baru saja ditampilkan di halaman?
jprofitt
@ user470184 Saya tidak downvote tetapi mempertimbangkannya. Ada banyak informasi di SO mengenai masalah ini.
Charles Sprayberry
"Perilaku umum" masih sangat kabur. Apakah Anda bertanya-tanya tentang sesuatu seperti <p>www.testurl.com/test?param1=test&current=true</p>atau <a href="www.testurl.com/test?param1=test&current=true">linky</a>?
jprofitt
@ jprofitt <a href="www.testurl.com/test?param1=test¤t=true"> linky </a>
langit biru
Jawaban:
127
& adalah HTML untuk "Awal referensi karakter".
& adalah referensi karakter untuk "An ampersand".
¤t; bukan referensi karakter standar dan begitu juga kesalahan (browser mungkin mencoba melakukan pemulihan kesalahan tetapi Anda tidak harus bergantung pada ini).
Jika Anda menggunakan referensi karakter untuk karakter nyata (misalnya ™) maka itu (™) akan muncul di URL, bukan string yang Anda inginkan.
(Perhatikan bahwa tergantung pada versi HTML yang Anda gunakan, Anda mungkin harus mengakhiri referensi karakter dengan a ;, itulah sebabnya &trade=akan diperlakukan sebagai ™. HTML 4 memungkinkannya untuk dihilangkan jika karakter berikutnya adalah karakter non-kata ( seperti =) tetapi beberapa browser (Halo Internet Explorer) memiliki masalah dengan ini).
Jadi tujuannya di sini adalah untuk menghindari masalah saat Anda mencoba memvalidasi situs web Anda. Jadi, Anda harus mengganti ampersand dengan &saat menulis URL di markup Anda.
Perhatikan bahwa mengganti &dengan & hanya dilakukan saat menulis URL dalam HTML, di mana "&"terdapat karakter khusus (bersama dengan "<" dan ">"). Saat menulis URL yang sama dalam pesan email teks biasa atau di bilah lokasi browser Anda, Anda akan menggunakan "&"dan tidak "&". Dengan HTML, browser diterjemahkan "&"menjadi "&"server Web hanya akan melihat "&"
dan tidak "&"dalam string kueri permintaan.
Itu contoh yang bagus. Saat ¤tdiurai menjadi node teks, node tersebut akan diubah menjadi ¤t. Ketika diurai menjadi nilai atribut , itu diuraikan sebagai ¤t.
Jika Anda ingin ¤tdi node teks, Anda harus menulis &currentdi markup Anda.
<p>www.testurl.com/test?param1=test&current=true</p>
atau<a href="www.testurl.com/test?param1=test&current=true">linky</a>
?Jawaban:
&
adalah HTML untuk "Awal referensi karakter".&
adalah referensi karakter untuk "An ampersand".¤t;
bukan referensi karakter standar dan begitu juga kesalahan (browser mungkin mencoba melakukan pemulihan kesalahan tetapi Anda tidak harus bergantung pada ini).Jika Anda menggunakan referensi karakter untuk karakter nyata (misalnya
™
) maka itu (™) akan muncul di URL, bukan string yang Anda inginkan.(Perhatikan bahwa tergantung pada versi HTML yang Anda gunakan, Anda mungkin harus mengakhiri referensi karakter dengan a
;
, itulah sebabnya&trade=
akan diperlakukan sebagai ™. HTML 4 memungkinkannya untuk dihilangkan jika karakter berikutnya adalah karakter non-kata ( seperti=
) tetapi beberapa browser (Halo Internet Explorer) memiliki masalah dengan ini).sumber
HTML tidak mengenali
&
tetapi akan mengenali&
karena sama dengan&
di HTMLSaya melihat postingan ini yang dibuat seseorang: http://www.webmasterworld.com/forum21/8851.htm
sumber
Sumber Saya: http://htmlhelp.com/tools/validator/problems.html#amp
Ini tidak valid:
Penjelasan:
Jadi tujuannya di sini adalah untuk menghindari masalah saat Anda mencoba memvalidasi situs web Anda. Jadi, Anda harus mengganti ampersand dengan
&
saat menulis URL di markup Anda.Semoga ini membantu : )
sumber
Itu contoh yang bagus. Saat
¤t
diurai menjadi node teks, node tersebut akan diubah menjadi¤t
. Ketika diurai menjadi nilai atribut , itu diuraikan sebagai¤t
.Jika Anda ingin
¤t
di node teks, Anda harus menulis&current
di markup Anda.Detail berdarah ada di sini: http://dev.w3.org/html5/spec/tokenization.html#consume-a-character-reference
sumber
jika Anda melakukan serangkaian karakter. membuat:
sumber
&
HTML, bukan&
URL.