Rumah >pembangunan bahagian belakang >Golang >Mengapa komen HTML hilang selepas mengemas kini Pergi ke versi yang lebih baharu?

Mengapa komen HTML hilang selepas mengemas kini Pergi ke versi yang lebih baharu?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 00:26:29760semak imbas

Why do HTML comments disappear after updating Go to a newer version?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn