javascript - 使用Vue2 v-html指令,可以渲染带`script`的富文本吗?

查看:1262
本文介绍了javascript - 使用Vue2 v-html指令,可以渲染带`script`的富文本吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

一段富文本想让其在vue中渲染,但这段富文本中带有script语句,自己在本地测了并没有执行该语句。
请问如何解决这个问题?

示例代码:

<template>
    <div v-html="testHtml"></div>
</template>

<script>
  export default {
    data () {
        return {
            testHtml: '<div><script>console.log("test")</script><p><span>测试测试</span></p><div>'
        }
    }
  }
</script>

谢谢~

解决方案

不可以的,vue 不会渲染 script 标签要页面中,我才楼主是要插入第三方的广告脚本,你有几种办法

  1. 重新写个页面,vue 加载这个 iframe,这种性能会比较差,你可以用 iframesrcdoc 属性,会好一些

  2. 如果必须插入到页面中,那就在列表渲染完成之后,通过 document.createElement('script'),然后append进去页面中

这篇关于javascript - 使用Vue2 v-html指令,可以渲染带`script`的富文本吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆