设置富文本参数

     // 富文本框参数设置editorOption: {modules: {ImageExtend: {loading: false,name: 'file',action: UPLOAD_URL + '?path=edit.image',//网络请求地址// response: ({ url }) => getImgPath(url),response: (res) => {//请求到的内容里面有url  localhost:80/edit/image/1660723565030Product后端返回的const a = res.url.slice(13)//截取掉没有用的localhost:80console.log(a)///edit/image/1660723565030Product***.jpgconst b = a.slice(a.length - 3)//截取后三位看看是什么格式的console.log(b, a)if (b === 'mp4') {//如果是mp4视频格式// 修改为视频var quilll = this.$refs.myQuillEditor.quill//quill自带的var range = this.$refs.myQuillEditor.quill.getSelection()//quill自带的获取光标位置console.log(range)//{index:'当前光标位置',length:'0'}//由于我这里不知道为啥一直获取到光标位置一直是0导致视频一直插入第一位置,所以在data定义了一个indexVideo =0// let indexVideo = 0//  if (range == null) {// indexVideo = 0//} else {//indexVideo = range.index//}this.indexVideo 的数据从聚焦事件中获取//  onEditorFocus(quill) {//this.indexVideo = quill.selection.lastRange.index//console.log('editor focus!聚焦', quill.selection.lastRange)//console.log(this.$refs.myQuillEditor)},//但是后面经过测试可以发现如果一进入就开始操作插入图片视频步骤的话会报错TypeError: Cannot read properties of undefined (reading 'children')译为:// 无法读取undefined的属性(正在读取'children') 是因为加载时无法及时获取到quilll无法获取到所以下一步无法继续进行//可以将这一步放到mounted中也可以取巧通过//  onEditorChange({ quill, html, text }) {// this.quilll = quill//通过赋值来获取不收影响// console.log('editor change!书写时触发', quill, html, text)// this.content = html},quilll.insertEmbed(this.indexVideo, 'video', getImgPath(a))//修改标签quilll.insertEmbed(光标位置,标签名称,src路径)} else {// 插入图片}this.imgURL.push(getImgPath(a))return getImgPath(a)},headers: (xhr) => {//设置请求头xhr.setRequestHeader('token', getToken())xhr.setRequestHeader('Auth', authConfig(UPLOAD_URL + '?path=edit.image', 'POST', getToken()))}},toolbar: {container,handlers: {image: function() {QuillWatch.emit(this.quill.id)}//      video: function(val) {//开启后点击上传视频将不在使用链接而是和图片一样直接调用本地文件//   // 劫持原来的视频点击按钮事件//   QuillWatch.emit(this.quill.id)// }}}},placeholder: '请输入详情内容...'},

引入

import Video from './video'
Quill.register(Video, true)
import { quillEditor, Quill } from 'vue-quill-editor'

video.js文件内容

import { Quill } from 'vue-quill-editor'
// 源码中是import直接倒入,这里要用Quill.import引入
const BlockEmbed = Quill.import('blots/block/embed')
const Link = Quill.import('formats/link')const ATTRIBUTES = ['height', 'width']class Video extends BlockEmbed {static create(value) {const node = super.create(value)// 添加video标签所需的属性node.setAttribute('controls', 'controls')node.setAttribute('type', 'video/mp4')node.setAttribute('src', this.sanitize(value))return node}static formats(domNode) {return ATTRIBUTES.reduce((formats, attribute) => {if (domNode.hasAttribute(attribute)) {formats[attribute] = domNode.getAttribute(attribute)}return formats}, {})}static sanitize(url) {return Link.sanitize(url) // eslint-disable-line import/no-named-as-default-member}static value(domNode) {return domNode.getAttribute('src')}format(name, value) {if (ATTRIBUTES.indexOf(name) > -1) {if (value) {this.domNode.setAttribute(name, value)} else {this.domNode.removeAttribute(name)}} else {super.format(name, value)}}html() {const { video } = this.value()return `<a href="${video}">${video}</a>`}
}
Video.blotName = 'video' // 不用iframe,直接替换掉原来,如果需要也可以保留原来的,这里用个新的blot
Video.className = 'ql-video'
Video.tagName = 'video' // 用video标签替换iframe
export default Video

quill上传本地视频(保姆级教学)相关推荐

  1. wangeditor上传本地视频的方法

    在官方版本的上传视频功能里,是不支持上传本地视频的,如果需要实现上传本地视频文件,可以自己定义一个上传方法. 实现思路: 1.使用input -> type="file",将 ...

  2. qq空间 上传html,qq空间怎么上传本地视频两种上传方式(说说/日志)

    首先打开QQ空间,我们有两种上传本地视频到QQ空间的方式, 第一种是说说上传,第二种是日志上传. 先来说第一种, 以上是我们打开qq空间以后,里面说说界面,后面有一组类似冒号的东西,把鼠标移至那里,然 ...

  3. C# Umeditor 编辑器上传本地视频、本地文件

    Umeditor 最近在做一个网站,涉及到网站文章的编辑.Umeditor是一个很好的选择,但是看了一下Umeditor,发现不能上传本地视频和本地文件,而项目又要得比较急,所以以我觉得最快的方式修改 ...

  4. wangEditor上传本地视频

    wangEditor是一个轻量级web富文本编辑器,一般可以满足用户需求,但是有特殊要求的可以对其进行修改 源文件是上传Html视频格式,如果想要变成上传本地视频需要做以下修改: /*上传视频*/// ...

  5. tinymce富文本编辑器的视频插件如何上传本地视频

    最近使用了tinymce富文本编辑器的视频上传功能,发现默认只能填写视频链接,不能上传本地的视频.为此,我专门研究下如何上传本地视频. 版本:tinymce版本是^5.0.16,@tinymce/ti ...

  6. PHP怎么做成Qq空间相册,qq空间如何上传本地视频 相片制作视频传到QQ空间

    相信很多网友都有上传QQ空间照片的喜好,我就是其中一个,拍了一张漂亮的PP,恨不得马上传到空间,炫耀一番.上传的照片日积月累,越来越多.平常要一张张的观看照片挺费时.最近学了一个新招,可以使用狸窝照片 ...

  7. wangeditor富文本编辑器添加上传本地视频功能

    wangeditor.js全部代码(可选择复制) (function (global, factory) {typeof exports === 'object' && typeof ...

  8. tinymce编辑器上传本地视频预览

    小白一枚,最近搞搞tinymce编辑器上传视频预览,视频标签变成了图片标签问题,看看之前其他博主的说明,感jio好麻烦,官网的也没整明白,所以自己瞎整整.勿喷!勿喷!勿喷!重要事情说三遍 首先是在ti ...

  9. 记录:使用阿里云视频点播Vod实现上传本地视频

    1.导入Maven依赖 <dependencies><dependency><groupId>com.aliyun</groupId><artif ...

最新文章

  1. 利刃 MVVMLight 8:DispatchHelper在多线程和调度中的使用
  2. php收集radio表单,jQuery对于单选表单(radio)以及其它表单取值
  3. 华为机器狗 VS 波士顿狗,谁更胜一筹?
  4. 软件项目管理0710:招标文件准备【求助】
  5. AutoLayout ScrollView在ios7下无法滑动
  6. SpringMVC配置视图的直接映射view-controller命名空间
  7. 数字滤波器(四)--模拟滤波器转化为数字滤波器
  8. oracle rac 高并发性能_Tomcat 高并发之道原理拆解与性能调优
  9. vue element form 自定义校验1(表单校验)
  10. 2021-2025年中国抽屉加热器行业市场供需与战略研究报告
  11. C#.NET 通用权限管理系统中的数据集权限设置实现参考界面(商业化成熟权限管理系统,提供全部源码)...
  12. 初窥Linux 之 ext2/ext3文件系统
  13. cnPack快捷键和DelForEx快捷键冲突解决办法(cnPack快捷键设置)
  14. Matlab计算机视觉/图像处理工具箱推荐
  15. python selenium自动化填写问卷星
  16. Zabbix监控系统系列之十一:拓扑图绘制
  17. java 解析dojo_Dojo入门三种HelloWorld!
  18. Mac的聚焦搜索Spotlight搜索不准确问题
  19. win10无限蓝屏_Win10升级系统后蓝屏或无限重启的解决方法
  20. 《现代控制系统》第五章——反馈控制系统性能分析 5.3 二阶系统的性能

热门文章

  1. 惠普台式电脑引导不了系统_惠普(HP)电脑安装不了GHOST系统的解决方法
  2. 记一次阴阳师挂机脚本开发
  3. 一页纸商业计划书模板(转载)
  4. php删除网站多余空白页,删除多余空白页的三种方法
  5. hive练习题(二)计算用户的复购率和回购率
  6. 关于 fir.im 你可能不知道的实用小工具
  7. 用html css实现五角星,用CSS画五角星
  8. Excel甘特图 Gantt Chart
  9. 罗敏为什么不焦虑? | 一点财经
  10. Windows磁盘管理软件/磁盘管理工具/硬盘分区管理工具