当前位置: 首页 > wzjs >正文

网站建设 外包维普网论文收录查询

网站建设 外包,维普网论文收录查询,dz比wordpress速度快,网站建设服务费怎么做会计分录vue3工程中使用vditor完成markdown渲染并防止xss攻击 背景环境解决方案引入依赖 组件封装实现效果 背景 做oj系统时,题目使用的时markdown语法字符串,前端查看时需要将markdown转html再渲染到页面上。 环境 vitevue3pnpm 解决方案 引入依赖 pnpm install vdit…

vue3工程中使用vditor完成markdown渲染并防止xss攻击

  • 背景
  • 环境
  • 解决方案
    • 引入依赖
  • 组件封装
  • 实现效果

背景

做oj系统时,题目使用的时markdown语法字符串,前端查看时需要将markdown转html再渲染到页面上。

环境

  • vite
  • vue3
  • pnpm

解决方案

引入依赖

pnpm install vditor dompurify
  • vditor用于完成markdown转html
  • dompurify用于去除恶意代码

组件封装

<script setup lang="ts">
import Vditor from 'vditor'
import 'vditor/dist/index.css'
import { onMounted, ref, watch } from 'vue'
import DOMPurify from 'dompurify'const contentEditor = ref()
const previewContent = ref('')// 注册事件
const emit = defineEmits(['update:modelValue'])// 父组件传来的值
const props = defineProps({modelValue: {type: String,default: '',},
})onMounted(() => {contentEditor.value = new Vditor('mdEdit', {height: 360,width: '100%',toolbarConfig: {pin: true,},value: props.modelValue,mode: 'sv', // 使用分屏预览模式toolbar: ['emoji','headings','bold','italic','strike','|','line','quote','list','ordered-list','check','outdent','indent','code','inline-code','insert-after','insert-before','undo','redo','link','table','fullscreen','outline',],cache: {enable: false,},// 失去焦点时触发blur(value: string) {// 触发事件,给父组件传值emit('update:modelValue', value)},after() {getSafeHtml()},})
})// 定义用于获取安全html的函数
function getSafeHtml() {previewContent.value = DOMPurify.sanitize(contentEditor.value.getHTML())
}// 监视modelValue实现双向数据绑定
watch(() => props.modelValue,(newValue) => {contentEditor.value.setValue(newValue)getSafeHtml()},
)
</script><template><div><div id="mdEdit" v-show="false" /><div v-html="previewContent" class="preview"></div></div>
</template><style scoped>
.preview {margin-top: 20px;padding: 10px;border: 1px solid #ccc;border-radius: 5px;background-color: #f9f9f9;
}
</style>

实现效果

在这里插入图片描述

http://www.dtcms.com/wzjs/542396.html

相关文章:

  • 做网站首页代码在线网站做图集相册
  • 公司网站建设需要什么资质金蝶二次开发
  • 品牌网站设计企业服务江苏省建设厅网站首页
  • 做wish选品参考什么网站南昌网站建设培训
  • 外贸网站建设论坛建立网站时间
  • 卷帘门怎么做网站购物网站常用的多组图左右轮播的js图片特效代码
  • dede微电影网站模板下载深泽网站制作
  • 烟台哪里做网站电子商务搭建平台
  • 个人网站导航html源码广州公关公司
  • 北京住房与建设部网站网站站做地图软件
  • 国外photoshop教程网站学校网站网页建设开题报告书
  • 有哪些网站可以做视频短视频营销的特点
  • 网站建设公司格wordpress iis支持
  • 企业网站建设珠海网站建设的现状和趋势
  • 定制网站开发平台简易动漫网站模板
  • 大连做网站的企业网站项目策划书实例
  • 农林牧渔行业网站建设html5做的网站
  • 长沙网站设计报价中国建筑企业排名
  • 增城网站怎么做seo深建市住房和城乡建设局网站
  • 能自己做生物实验的网站公司网站建设工作
  • 住房和城乡建设部注册中心网站网站开发汇报
  • 网站开发的在线支付功能西地那非最佳起效时间
  • 建设一个蛋糕网站的背景与目的装修之家网
  • 网站空间数据库上传天眼在线查企业查询
  • 电商类网站设计模板佛山微网站推广
  • 外贸网站推广运营网站 seo 优化建议
  • 网站开发流程包括哪几个步骤?南宁网站建设推广优化
  • 天津电商网站制作asp网站版权
  • 群晖nas怎样做网站wordpress关于本站
  • pv3d 优秀网站多语言网站seo