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

页面设计思路厦门网站优化公司

页面设计思路,厦门网站优化公司,北京自助模板建站,java 开发手机网站建设marked在vue项目中改变超链接跳转方式和图片放大预览 这里我是另起一个js文件对marked的配置做了修改,参考如下 import marked from marked let renderer new marked.Renderer() const linkRenderer renderer.link const imgRenderer renderer.image // 超链接…

marked在vue项目中改变超链接跳转方式和图片放大预览

这里我是另起一个js文件对marked的配置做了修改,参考如下

import marked from 'marked'
let renderer = new marked.Renderer()
const linkRenderer = renderer.link
const imgRenderer = renderer.image
// 超链接使用新窗口打开
renderer.link = (href, title, text) => {const html = linkRenderer.call(renderer, href, title, text)return html.replace(/^<a /, '<a target="_blank" ')
}// marked解析过程中解析到图片的回调,为每个img标签绑定点击事件,并传递当前事件以及href图片链接
renderer.image = function (href, title, text) {const img = imgRenderer.call(renderer, href, title, text)// 在图片元素上添加点击事件处理函数return `<img width="800" height="500" οnclick="showMarkedImage('${href}')" src="${href}" alt="${text}" title="${title ? title : ''}">`
}
marked.setOptions({renderer,sanitize: false
})export default marked

然后在vue文件中进行进行该文件的引用

// vue结构
<div class="show-inputText" v-html="markedContent(form.inputText)"></div>
<el-image v-show="imgPreviewUrl" style="display: none" ref="previewImg" :src="imgPreviewUrl" :preview-src-list="imgList">
</el-image>
// script结构
import marked from '上述文件的路径'data() {return {form: {inputText: '',},imgPreviewUrl: '',imgList: []}}},

最后格式化markdown文本

init() {// 获取markdown文本中所有的图片链接this.getImgList(item.inputText)// markdown图片放大预览let _this = thiswindow.showMarkedImage = function (url) {_this.imgPreviewUrl = url_this.$nextTick(() => {_this.$refs.previewImg.showViewer = true// 需要把当前的图片放到最前面,后面排序let copyImgList = [..._this.imgList]let targetUrlIndex = copyImgList.findIndex(item => item == url)copyImgList.splice(targetUrlIndex, 1)let res = [url, ...copyImgList]_this.$refs.previewImg.previewSrcList = res_this.$refs.previewImg.src = url}, 200)},// 获取图片getImgList(inputText) {// 匹配markdown文案中所有的图片,以便后续放大预览const regex = /!\[Image\]\((.*?)\)/gconst matches = inputText.match(regex)let res = []if (matches) {for (const match of matches) {const imageUrl = match.match(/\((.*?)\)/)[1]res.push(imageUrl)}}this.imgList = res},// markdown格式化markedContent(markdownContent) {let mak = marked.marked(markdownContent)if (mak.substr(-1) == '\n') {mak = mak.slice(0, -1)}return mak},
http://www.ds6.com.cn/news/28648.html

相关文章:

  • 如何查询网站域名备案信息外贸企业网站制作哪家好
  • wordpress管理员页面404网站优化排名哪家好
  • 做网站的公司周年活动廊坊网站排名优化公司哪家好
  • 网站开发系统论文seo关键词选择及优化
  • 无人在线观看高清视频8win7优化大师官方免费下载
  • html php网站开发企业产品推广运营公司
  • java 做网站产品故事软文案例
  • 山东阳信建设局网站查看今日头条
  • 鞍山公司网站建设北京网站优化指导
  • 找网站做建站abc网站
  • 河南疫情防控宣传谷歌优化
  • 如何给一个网站做优化电视剧排行榜
  • 网站建设文案模板app推广公司
  • 专业建站公司推荐百度电脑版网址
  • 网站开发会计分录bt磁力种子搜索引擎
  • 做外贸去哪个网站找客户2023第二波疫情已经到来
  • 北京市建设工程信息湖南 seo
  • 做批发的国际网站有哪些seo排名的影响因素有哪些
  • 免费虚拟空间网站成功的网络营销案例及分析
  • 网站建设的费用计入如何实现网站的快速排名
  • 苏州网站制作哪家靠谱如何推广自己的微信公众号
  • 做企业网站比较好的公司2023年8月新冠又来了
  • 网站域名后缀有哪些seo是什么东西
  • 广东住房城乡建设厅网站首页技能培训网站
  • 做网站购买服务器如何去推广自己的产品
  • 哪个网站可以做头像网站ip查询
  • 做团购的网站有哪些美国搜索引擎
  • 机械门户网站建设特点接单平台app
  • 用asp做网站怎么美观网络优化的三个方法
  • drupal 网站实例网站注册流程和费用