Svelte HTML標(biāo)簽

2023-02-20 15:58 更新

通常,字符串作為純文本插入,這意味著像 ?<? 和 ?>? 這樣的字符沒(méi)有特殊含義。

但有時(shí)您需要將 HTML 直接渲染到組件中。例如,您現(xiàn)在正在閱讀的單詞存在于一個(gè) markdown 文件中,該文件作為 HTML blob 包含在此頁(yè)面中。

在 Svelte 中,你可以使用特殊的 ?{@html ...}? 標(biāo)簽來(lái)做到這一點(diǎn):

<p>{@html string}</p>

在將表達(dá)式插入 DOM 之前,Svelte 不會(huì)對(duì) ?{@html ...}? 中的表達(dá)式執(zhí)行任何清理。換句話說(shuō),如果您使用此功能,請(qǐng)務(wù)必手動(dòng)轉(zhuǎn)義來(lái)自您不信任的來(lái)源的 HTML,否則您可能會(huì)讓您的用戶面臨 XSS 攻擊。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)