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 = '&lt;p&gt;Hello, &lt;strong&gt;world&lt;/strong&gt;!&lt;/p&gt;';
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>等标签被转义成字符的更多相关文章

  1. 博客用Markdown编辑器插入视频

    要展示一些App的效果用或者更方便地展示工具的操作,可以使用视频. 以下有两种方式可以在博客中插入视频 第一种 此方法适用于插入来源优酷的视频或者你自己录制了视频上传到优酷,这种方法的好处是可以插入时 ...

  2. Markdown中插入数学公式的方法

    Markdown中插入数学公式的方法 文章来源:http://blog.csdn.net/xiahouzuoxin/article/details/26478179 自从使用Markdown以来,就开 ...

  3. 【转】向HTML中插入视频并兼容所有浏览器的方法

    原文地址:http://www.jb51.net/web/168548.html 向HTML中插入视频有两种方法,一种是古老的object标签,一种是html5中的video标签,前者兼容性相对好些, ...

  4. 如何在html中插入视频

    如何在html中插入视频 1,插入优酷视频: 在优酷分享界面有个html代码,直接复制放入body中,定义div的align居中即可 2.插入本地视频:用video属性  用mp4格式 <vid ...

  5. HTML中插入视频

    最常用的向HTML中插入视频的方法有两种,一种是古老的<object></object>标签,一种是html5中的<video></video>标签. ...

  6. Markdown中插入复杂的合并表格方法

    由于Markdown自身的语法限制,不能直接插入有合并单元格的复杂表格. 姓名 学号 专业 张三 2018123456 计算机 赵四 2018222356 自动化 李六 2018666666 信息工程 ...

  7. html5中插入视频和音频

    <audio src="1.mp3" controls></audio> <video src="1.mp4" controls& ...

  8. 在MarkDown中插入数学公式对照表(持续更新)

    目录 在MarkDown中可以插入数学公式,但是在博客园和有道云笔记之中的数学公式插入方式略有不同(博客园需要先在后台选项中开启插入数学公式选项): 代码 行内公式 整行公式 博客园 $数学公式$ $ ...

  9. 页面中插入视频兼容ie8以上的浏览器

    有时候页面中需要插入视频,如果不考虑ie8的话:就是直接用h5标签<video></video>就可以了: 但是有的时候需求是需要考虑ie8,这样我们就可以用插件,这种vide ...

  10. 在markdown中插入github仓库中的图片

    右击github中的图片,获得链接: https://github.com/nxf75/ML_Library/blob/master/Hadoop/Haddop%E6%A1%86%E6%9E%B6.p ...

随机推荐

  1. 在线问诊 Python、FastAPI、Neo4j — 创建症状节点

    目录 症状数据 创建节点 附学习 电子病历中,患者主诉对应的相关检查,得出的诊断以及最后的用药情况.症状一般可以从主诉中提取. 症状数据 symptom_data.csv CSV 中,没有直接一行一个 ...

  2. 【Python爬虫】使用代理ip进行网站爬取

    使用代理IP进行网站爬取可以有效地隐藏你的真实IP地址,让网站难以追踪你的访问行为.本文将介绍Python如何使用代理IP进行网站爬取的实现,包括代理IP的获取.代理IP的验证.以及如何把代理IP应用 ...

  3. STL容器:map

    map 可以当作特殊的数组来使用,在数组开不下,或者数组下标不是整数的时候使用 map 就很方便,比如统计字符串的出现个数,统计 int 范围内的数的出现次数等等. 映射是指两个集合之间的元素的相互对 ...

  4. C++类内存分布+ Studio工具

    书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承.虚函数存在的情况下. 工欲善其事,必先利其器,我们先用好Visual Stu ...

  5. Python并发编程——threading、开启线程 、线程进程对比、线程方法、守护线程、GIL、同步锁、死锁和递归锁、信号量、Event、condition、定时器、queue、concurrent

    文章目录 内容回顾 一 threading模块介绍 二 开启线程的两种方式 三 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 四 练习 五 线程相关的其他方法 六 守护线程 七 Pyth ...

  6. RPM软件包:Red HatPackage Manager,RPM

    RPM软件包是按照GPL条款发行在各个linux版本上使用. 用途 可以安装.删除.升级.刷新和管理RPM软件包 通过RPM软件包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个RPM软 ...

  7. nittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理

    项目结构 测试用例 import unittest class LoginTestCase(unittest.TestCase): def test_login_success(self): self ...

  8. JS异步任务的并行、串行,以及二者结合

    让多个异步任务按照我们的想法执行,是开发中常见的需求.今天我们就来捋一下,如何让多个异步任务并行,串行,以及并行串行相结合. 一.并行 并行是使用最多的方式,多个相互间没有依赖关系的异步任务,并行执行 ...

  9. 从windows到linux,图形化操作到命令行操作讲解

    作为一个后端开发人员,刚开始进入到职场中,linux还不是必备项.但是随着开发经验的提升,慢慢就会接触到linux,所以就有了那句:开发必须要会linux.一开始我也不知道linux是干嘛的,学那些命 ...

  10. centos7通过yum安装mysql5.7以上版本

    1.检查并卸载mariadb yum remove *mariadb* 遇到要求输入直接y/n 直接输入y回车 2.下载并安装mysql mysql源地址:https://repo.mysql.com ...