甲方又整新需求了:富文本编辑器需要可以传视频。

layui本身的富文本编辑器没有传视频的功能,所以,又到了咱们魔改的时候了。

友情提醒,富文本编辑器 layedit 只有layui的V1版有,V2版没了,也是很神秘。

因为上次咱们加了上传加了进度条,所以这回的上传也是有进度条的,只不过在富文本编辑区的外面。

上代码。

需要用编辑器的某个HTML的JS域:

var layeditIndex = layedit.build('intro', {
height: 600,
uploadImage: {
url: 'xxx'
},
uploadVideo: {
url: 'xxx',
exts: 'mp4',
xhr:xhrOnProgress,
progress:function(value){//上传进度回调 value进度值
element.progress('demo', value+'%')//设置页面进度条
console.log(value)
},
before: function(obj){
element.progress('demo', '0%')
$("#uploadLoadingDiv").show()
}
}
}); var xhrOnProgress=function(fun) {
console.log("xhrOnProgress")
xhrOnProgress.onprogress = fun; //绑定监听
//使用闭包实现监听绑
return function() {
//通过$.ajaxSettings.xhr();获得XMLHttpRequest对象
var xhr = $.ajaxSettings.xhr();
//判断监听函数是否为函数
if (typeof xhrOnProgress.onprogress !== 'function')
return xhr;
//如果有监听函数并且xhr对象支持绑定时就把监听函数绑定上去
if (xhrOnProgress.onprogress && xhr.upload) {
xhr.upload.onprogress = xhrOnProgress.onprogress;
}
return xhr;
}
}

layedit.js:

...
var e = layui.$,
i = layui.layer,
a = layui.form,
l = (layui.hint(), layui.device()),
n = "layedit",
o = "layui-show",
r = "layui-disabled",
c = function() {
var t = this;
t.index = 0, t.config = {
tool: ["strong", "italic", "underline", "del", "|", "left", "center", "right", "|", "link", "unlink", "face", "image", "video"],
hideTool: [],
height: 280
}
};
...
image:function(){...}
video: function(a) {
var n = this;
layui.use("upload", function(o) {
var r = l.uploadVideo || {};
o.render({
url: r.url,
method: r.type,
exts:r.exts,
elem: e(n).find("input")[0],
xhr:r.xhr,
progress:r.progress,
before:r.before,
done: function(e) {
0 == e.code ? (e.data = e.data || {}, v.call(t, "video", {
src: e.data.src,
alt: e.data.title,
controls:"controls"
}, a)) : i.msg(e.msg || "上传失败")
}
})
})
},
code:function(){...}
...
C = {
html: '<i class="layui-icon layedit-tool-html" title="HTML源代码" lay-command="html" layedit-event="html""></i><span class="layedit-tool-mid"></span>',
strong: '<i class="layui-icon layedit-tool-b" title="加粗" lay-command="Bold" layedit-event="b""></i>',
italic: '<i class="layui-icon layedit-tool-i" title="斜体" lay-command="italic" layedit-event="i""></i>',
underline: '<i class="layui-icon layedit-tool-u" title="下划线" lay-command="underline" layedit-event="u""></i>',
del: '<i class="layui-icon layedit-tool-d" title="删除线" lay-command="strikeThrough" layedit-event="d""></i>',
"|": '<span class="layedit-tool-mid"></span>',
left: '<i class="layui-icon layedit-tool-left" title="左对齐" lay-command="justifyLeft" layedit-event="left""></i>',
center: '<i class="layui-icon layedit-tool-center" title="居中对齐" lay-command="justifyCenter" layedit-event="center""></i>',
right: '<i class="layui-icon layedit-tool-right" title="右对齐" lay-command="justifyRight" layedit-event="right""></i>',
link: '<i class="layui-icon layedit-tool-link" title="插入链接" layedit-event="link""></i>',
unlink: '<i class="layui-icon layedit-tool-unlink layui-disabled" title="清除链接" lay-command="unlink" layedit-event="unlink""></i>',
face: '<i class="layui-icon layedit-tool-face" title="表情" layedit-event="face""></i>',
image: '<i class="layui-icon layedit-tool-image" title="图片" layedit-event="image"><input type="file" name="file"></i>',
video: '<i class="layui-icon layedit-tool-image lt-video" title="视频" layedit-event="video"><input type="file" name="file"></i>',
code: '<i class="layui-icon layedit-tool-code" title="插入代码" layedit-event="code"></i>',
help: '<i class="layui-icon layedit-tool-help" title="帮助" layedit-event="help"></i>'
},
...

以上。

layui 魔改:富文本编辑器添加上传视频功能的更多相关文章

  1. 给Django后台富文本编辑器添加上传文件的功能

    使用富文本编辑器上传的文件是要放到服务器上的,所以这是一个request.既然是一个request,就需要urls.py进行转发请求views.py进行处理.views.py处理完了返回一个文件所在的 ...

  2. 关于百度Editor富文本编辑器 自定义上传位置

    因为要在网站上编辑富文本数据,所以直接采用百度的富文本编辑器,但是这个编辑器有个缺点,默认情况下,文件只能上传到网站的根目录,不能自定义路径. 而且json配置文件只能和controller.jsp在 ...

  3. bbs项目富文本编辑器实现上传文件到media目录

    media目录是在project的settings中设置的,static目录是django自己使用的静态文件的上传目录,media目录是用户自定义上传文件的目录 # Django用户上传的文件都放在m ...

  4. Kindeditor JS 富文本编辑器图片上传指定路径

    js //================== KindEditor.ready(function (K) { var hotelid = $("#hotelid").val(); ...

  5. springboot+layui 整合百度富文本编辑器ueditor入门使用教程(踩过的坑)

    springboot+layui 整合百度富文本编辑器ueditor入门使用教程(踩过的坑) 写在前面: ​ 富文本编辑器,Multi-function Text Editor, 简称 MTE, 是一 ...

  6. Python3+Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)'''from seleni ...

  7. C# fckeditor添加上传附件功能

    最近在维护系统时,要把fckediotr加上上传附件功能,好久没有用fckeditor了,现在都已经改名字,不叫这个了. 修改统计器下面的fckconfig.js,方法如下: 1.把FCKConfig ...

  8. kindeditor富文本框,上传文件后,显示文件名称

    kindeditor作为一个应用广泛富文本框,我们经常会利用到它,然而在使用的过程中,发现有的地方使用起来很不方便,例如本文要说的,用户上传文件之后,默认只有文件URL,没有文件说明,如图: 点击确定 ...

  9. 12-tinyMCE文本编辑器+图片上传预览+页面倒计时自动跳转

    文本编辑器插件:1.将tinymce文件夹全部复制到webContent下2.tinymce/js目录下放 jquery等三个js文件3.语言包:tinymce/js/tinymce/langs目录下 ...

随机推荐

  1. 《Elasticsearch 权威指南》阅读笔记

    书籍地址 https://www.elastic.co/guide/cn/elasticsearch/guide/current/languages.html

  2. 用Python进行实时计算——PyFlink快速入门

    Flink 1.9.0及更高版本支持Python,也就是PyFlink. 在最新版本的Flink 1.10中,PyFlink支持Python用户定义的函数,使您能够在Table API和SQL中注册和 ...

  3. 入门大数据---Spark_Transformation和Action算子

    一.Transformation spark 常用的 Transformation 算子如下表: Transformation 算子 Meaning(含义) map(func) 对原 RDD 中每个元 ...

  4. Spring Boot 2.x基础教程:MyBatis的多数据源配置

    前两天,我们已经介绍了关于JdbcTemplate的多数据源配置以及Spring Data JPA的多数据源配置,接下来具体说说使用MyBatis时候的多数据源场景该如何配置. 添加多数据源的配置 先 ...

  5. 洛谷 P6136 【【模板】普通平衡树(数据加强版)】

    爱死替罪羊树了 这种暴力的数据结构爱死了.什么?!你还不知道替罪羊树?那就看看这篇博客这篇博客吧.替罪羊树就是当不平衡时,拍扁重建,然后就平衡了.想切这道题,要先把普通平衡树那道题做了(这篇博客讲了的 ...

  6. python编程从入门到实践笔记

    我的第一个hello world 程序 print("hello python world") print("hello python world"*3) 打印 ...

  7. antd图标库按需加载的插件实现

    前景概要 antd是阿里出品的一款基于antd的UI组件库,使用简单,功能丰富,被广泛应用在中台项目开发中,虽然也出现了彩蛋事故,但不能否认antd本身的优秀,而我们公司在实际工作中也大量使用antd ...

  8. 三色二叉树——树形dp

    三色二叉树 题目描述 一棵二叉树可以按照如下规则表示成一个由 \(0.1.2\) 组成的字符序列,我们称之为"二叉树序列 \(S\) ": \(0\) 该树没有子节点. \(1S_ ...

  9. 「STL中的常用函数 容器」

    占个坑,下午在更 二分操作:lower_bound和upper_bound 存图/数列操作:vector容器 全排列:next_permutation和prev_permutation 字符串转数列: ...

  10. centos7----创建虚拟环境

    优点 使不同的应用开发环境独立 环境升级不影响其他应用,也不会影响全局的python环境 它可以防止系统出现包管理混乱和版本的冲突 安装 pip install virtualenv 创建虚拟环境 v ...