markdown中插入视频前台渲染出来导致<video>等标签被转义成字符
markdown中插入视频前台渲染出来导致<video>等标签被转义成字符解决办法:
如图:
在markdown里面插入视频,可以按照下面写法,哈哈,虽然很捞,但是还是可以满足的。
<video src="https://xxxxxxxxxxxxxx.mp4" controls="true" style="max-width: 100%;height: auto;"></video>

前台打印出来是这样的:

可以看到,标签的< > 等已经被转义字符了。所以这就需要我们在前端获取的视频把这个字符还原的,使用到了:
HtmlDecode: 把经过 HtmlEncode编码过的字符解码 ,还原成原始字符。
具体使用:
你可以使用npm命令来安装`he`库,具体步骤如下:
1. 打开终端或命令行工具,进入Vue项目的根目录。
2. 运行以下命令安装`he`库:
npm install he --save
这将会在你的Vue项目中安装`he`库,并将其保存到`package.json`文件的依赖项中。
3. 在需要使用`he`库的Vue组件或JavaScript文件中导入它:
import he from 'he';
4. 现在你就可以在Vue组件或JavaScript文件中使用`he`库提供的方法了。例如,你可以使用`he.decode`方法来进行HTML解码:
const htmlString = '<p>Hello, <strong>world</strong>!</p>';
const decodedString = he.decode(htmlString);
console.log(decodedString); // 输出: "<p>Hello, <strong>world</strong>!</p>"
5.markdown在vue页面的中具体使用如下:
import he from 'he';
export default {
data() {
return {
article: {},
articleContentHtml: ''
}
},
methods: {
htmlDecode(value) {
// 自定义转义逻辑
return he.decode(value);
},
fetchData() {
// 假设这里是获取数据的异步请求
// 在请求成功后执行以下代码
if (!this.$common.isEmpty(res.data)) {
this.article = res.data; //获取所有数据
this.getNews();
const md = new MarkdownIt({ breaks: true });
this.articleContentHtml = md.render(this.article.articleContent); //渲染文章的所有内容
this.articleContentHtml = this.htmlDecode(this.articleContentHtml); // 使用HtmlDecode转义还原字符
}
}
},
created() {
this.fetchData();
}
}
具体用法自己按照实际情况来看:
HtmlEncode、HtmlDecode、UrlEncode、UrlDecode
HtmlEncode: 将 Html 源文件中不允许出现的字符进行编码。例如:"<"、">"、"&" 等。
HtmlDecode: 把经过 HtmlEncode编码过的字符解码 ,还原成原始字符。
UrlEncode: 将 Url 中不允许出现的字符进行编码。例如:":"、"/"、"?" 等。
UrlDecode: 把经过 UrllEncode编码过的字符解码 ,还原成原始字符。
markdown中插入视频前台渲染出来导致<video>等标签被转义成字符的更多相关文章
- 博客用Markdown编辑器插入视频
要展示一些App的效果用或者更方便地展示工具的操作,可以使用视频. 以下有两种方式可以在博客中插入视频 第一种 此方法适用于插入来源优酷的视频或者你自己录制了视频上传到优酷,这种方法的好处是可以插入时 ...
- Markdown中插入数学公式的方法
Markdown中插入数学公式的方法 文章来源:http://blog.csdn.net/xiahouzuoxin/article/details/26478179 自从使用Markdown以来,就开 ...
- 【转】向HTML中插入视频并兼容所有浏览器的方法
原文地址:http://www.jb51.net/web/168548.html 向HTML中插入视频有两种方法,一种是古老的object标签,一种是html5中的video标签,前者兼容性相对好些, ...
- 如何在html中插入视频
如何在html中插入视频 1,插入优酷视频: 在优酷分享界面有个html代码,直接复制放入body中,定义div的align居中即可 2.插入本地视频:用video属性 用mp4格式 <vid ...
- HTML中插入视频
最常用的向HTML中插入视频的方法有两种,一种是古老的<object></object>标签,一种是html5中的<video></video>标签. ...
- Markdown中插入复杂的合并表格方法
由于Markdown自身的语法限制,不能直接插入有合并单元格的复杂表格. 姓名 学号 专业 张三 2018123456 计算机 赵四 2018222356 自动化 李六 2018666666 信息工程 ...
- html5中插入视频和音频
<audio src="1.mp3" controls></audio> <video src="1.mp4" controls& ...
- 在MarkDown中插入数学公式对照表(持续更新)
目录 在MarkDown中可以插入数学公式,但是在博客园和有道云笔记之中的数学公式插入方式略有不同(博客园需要先在后台选项中开启插入数学公式选项): 代码 行内公式 整行公式 博客园 $数学公式$ $ ...
- 页面中插入视频兼容ie8以上的浏览器
有时候页面中需要插入视频,如果不考虑ie8的话:就是直接用h5标签<video></video>就可以了: 但是有的时候需求是需要考虑ie8,这样我们就可以用插件,这种vide ...
- 在markdown中插入github仓库中的图片
右击github中的图片,获得链接: https://github.com/nxf75/ML_Library/blob/master/Hadoop/Haddop%E6%A1%86%E6%9E%B6.p ...
随机推荐
- 2023-09-16:用go语言,给你一个整数 n 和一个在范围 [0, n - 1] 以内的整数 p , 它们表示一个长度为 n 且下标从 0 开始的数组 arr , 数组中除了下标为 p 处是 1
2023-09-16:用go语言,给你一个整数 n 和一个在范围 [0, n - 1] 以内的整数 p , 它们表示一个长度为 n 且下标从 0 开始的数组 arr , 数组中除了下标为 p 处是 1 ...
- Record -「CSP-S 2020」赛后总结
其实这次的 CSP 暴露出来了很多问题. 比如策略上的,在 T1 花了太多的时间直接心态爆炸,后面的题只想着把暴力打满.看到 T2 只想着打暴力,根本没有沉下心来想,白白丢了一道(水)题. T3 连暴 ...
- 获取 + 查看 Android 源码的 方法
Android源码获取方法. 作为一个Android开发者,必要的时候阅读以下源码可以拓宽一下自己的视野和对android的认知程度. Google的Android的源码管理仓库是用的是Git.And ...
- 实现脚本自动部署docker
前言: 使用场景是 我这边的一个单体项目需要多一个多副本的部署方式,一直输入重复命令我实在是嫌烦了,使用写了一个脚本来一键更新部署上去.jar包都是我手动上传的,没有把包传入公网库里. 之所以记录就是 ...
- Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类、工具类与实现类
Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类.工具类与实现类 ELM_V1_食品的实体类 package elm_V1; /** * [食品实体类] * * @a ...
- python环境配置常用命令
#安装前请更新 sudo apt-get update python -m pip install --upgrade pip #升级PIP版本 sudo apt-get install python ...
- QLabel自己总结(常用接口)
继承关系:QLabel->QFrame->QWidget void setText(const QString &) [slots] 设置标签显示的内容,也可以使用构造函数设置. ...
- MATLAB(Octave)命令记录
1. struct:结构体数组 aaaa_s.a = 1; aaaa_s.b = {'A','B','C'} aaaa_s.c = [1 2 3 4; 5 6 7 8]; save aaaa_s.tx ...
- 容器Cgroup和Namespace特性简介
一般来说,容器技术主要包括Cgroup和Namespace这两个内核特性.Cgroup Cgroup是control group,又称为控制组,它主要是做资源控制.原理是将一组进程放在放在一个控制组里 ...
- 快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab
Walrus 是一款基于平台工程理念的开源应用管理平台,致力于解决应用交付领域的深切痛点.借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境,并支持任意应用形态统一编排部署,降低使用基础设 ...