javascript - 使用Vue2 v-html指令,可以渲染帶`script`的富文本嗎?
問(wèn)題描述
一段富文本想讓其在vue中渲染,但這段富文本中帶有script語(yǔ)句,自己在本地測(cè)了并沒(méi)有執(zhí)行該語(yǔ)句。請(qǐng)問(wèn)如何解決這個(gè)問(wèn)題?
示例代碼:
<template> <p v-html='testHtml'></p></template><script> export default { data () {return { testHtml: ’<p><script>console.log('test')</script><p><span>測(cè)試測(cè)試</span></p><p>’} } }</script>
謝謝~
問(wèn)題解答
回答1:不可以的,vue 不會(huì)渲染 script 標(biāo)簽要頁(yè)面中,我才樓主是要插入第三方的廣告腳本,你有幾種辦法
重新寫(xiě)個(gè)頁(yè)面,vue 加載這個(gè) iframe,這種性能會(huì)比較差,你可以用 iframe 的 srcdoc 屬性,會(huì)好一些
如果必須插入到頁(yè)面中,那就在列表渲染完成之后,通過(guò) document.createElement(’script’),然后append進(jìn)去頁(yè)面中
回答2:寫(xiě)個(gè)script的指令吧
回答3:貼個(gè)代碼看看,看問(wèn)題描述,你這樣寫(xiě)不是很好
