Rumah >pembangunan bahagian belakang >Golang >Mengapa komen HTML hilang selepas mengemas kini Pergi ke versi yang lebih baharu?
Go: Menyelesaikan Isu Penyampaian Komen HTML
Apabila bekerja dengan aplikasi web Go, anda mungkin menghadapi isu di mana komen HTML hilang secara tidak dijangka daripada halaman yang diberikan. Anomali ini biasanya diperhatikan selepas mengemas kini Pergi ke versi yang lebih baharu.
Untuk menyelesaikan masalah ini, adalah perlu untuk memahami mekanisme pengendalian templat dalam Go. Pakej html/template memperkenalkan jenis khas yang dikenali sebagai template.HTML. Nilai jenis ini kekal tidak dapat dielakkan semasa pemaparan templat.
Penyelesaian terletak pada menandai ulasan HTML anda sebagai templat.HTML. Satu kaedah yang berkesan ialah mendaftarkan fungsi tersuai dalam templat anda. Fungsi ini harus menerima hujah rentetan dan mengembalikannya sebagai templat.HTML. Dengan menghantar ulasan HTML anda kepada fungsi ini, anda memastikan bahawa ia akan disimpan dalam output.
Berikut ialah contoh:
<code class="go">func main() { t := template.Must(template.New("").Funcs(template.FuncMap{ "safe": func(s string) template.HTML { return template.HTML(s) }, }).Parse(src)) t.Execute(os.Stdout, nil) } const src = `<html><body> {{safe "<!-- This is a comment -->"}} <div>Some <b>HTML</b> content</div> </body></html>`</code>
Dengan mendaftarkan fungsi safe(), anda boleh mengubah komen HTML anda ke dalam tindakan templat yang memanggil fungsi ini dan menghantar komen asal. Ini memastikan pengekalannya dalam output.
Sebagai alternatif, seperti yang diperlukan, anda boleh menggunakan sintaks berikut:
<code class="go">{{"<!-- Some HTML comment -->" | safe}}</code>
Apabila berurusan dengan ulasan HTML yang mengandungi tanda petikan, ingatlah untuk melepaskannya dengan sewajarnya:
<code class="go">{{safe "<!-- Some \"HTML\" comment -->"}}</code>
Akhir sekali, berhati-hati menggunakan ulasan HTML bersyarat. Penggunaannya mungkin mengganggu pelarian sensitif konteks yang dilaksanakan dalam pakej html/template. Rujuk dokumentasi untuk butiran lanjut.
Atas ialah kandungan terperinci Mengapa komen HTML hilang selepas mengemas kini Pergi ke versi yang lebih baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!