var imgPath = "";/* 在线图片 */function OnlineImage(target) {this.container = utils.isString(target) ? document.getElementById(target) : target;this.init();}OnlineImage.prototype = {init: function () {this.reset();this.initEvents();},/* 初始化容器 */initContainer: function () {this.container.innerHTML = '';this.list = document.createElement('ul');this.clearFloat = document.createElement('li');domUtils.addClass(this.list, 'list');domUtils.addClass(this.clearFloat, 'clearFloat');this.list.appendChild(this.clearFloat);this.container.appendChild(this.list);},/* 初始化滚动事件,滚动到地步自动拉取数据 */initEvents: function () {var _this = this;/* 滚动拉取图片 */domUtils.on($G('imageList'), 'scroll', function(e){var panel = this;if (panel.scrollHeight - (panel.offsetHeight + panel.scrollTop) < 10) {_this.getImageData();}});/* 点击搜索按钮 */domUtils.on($G('sub'), 'click', function () {var key = $G('sel').value;if (key && key != lang.sel) {_this.reset()_this.getImageData();}});/* 点击缩略图按妞 */domUtils.on($G('clo'), 'click', function () {var src ="";$(".selected>img").each(function (i,v) {src += "srcs=" + v.src.substr(v.src.lastIndexOf('/Picasa')) + "&";})src = src.substring(0, src.length - 1);$.ajax({url: '/Attachment/Thumbnail',data: src,type:'post',success: function (data) {alert(data.Message);}});});/* 搜索框聚焦 */domUtils.on($G('sel'), 'focus', function () {key = $G('sel').value;if (key && key == lang.sel) {$G('sel').value = '';}});/* 搜索框回车键搜索 */domUtils.on($G('sel'), 'keydown', function (e) {var keyCode = e.keyCode || e.which;if (keyCode == 13) {$G('sub').click();}});/*新建文件夹*/domUtils.on($G('newfolder'), 'click', function () {var index =layer.prompt({title: '新建文件夹',formType: 0//prompt风格,支持0-2}, function (tex) {$.ajax({url: "/Picasa/controller.ashx?action=newfolder", data: { "url": tex, "getpath": $("#getpath").val() }, success: function (data) {alert(data.state);if (data.state = "新建成功") {layer.close(index);}_this.reset()_this.getImageData();}});});});uploader.on('fileQueued', function (file,data) {uploader.options.formData.url = $("#getpath").val();uploader.upload();uploader.on('uploadSuccess', function (file, data) {alert(data.state);if (data.state = "添加图片成功") {_this.reset();_this.getImageData();}});})/*返回上级*/domUtils.on($G('back'), 'click', function (e) {imgPath = $("#getpath").val().substr(0, $("#getpath").val().lastIndexOf('/'));$("#getpath").val(imgPath);_this.reset();_this.getImageData();});/* 选中文件 */domUtils.on(this.container, 'click', function (e) {var target = e.target || e.srcElement,li = target.parentNode;var url = editor.getActionUrl(editor.getOpt('imageManagerActionName')),isJsonp = utils.isCrossDomainUrl(url);imgPath = $(li.innerHTML).attr("_src");if (imgPath.indexOf('.') == -1) {ajax.request(url, {'dataType': isJsonp ? 'jsonp':'','data': utils.extend({imgPath: imgPath,seek:"",start: this.listIndex,size: this.listSize}),'method': 'get'});imgPath = imgPath.replace("/Picasa/upload/image", "");$("#getpath").val(imgPath);_this.reset()_this.getImageData();}if (li.tagName.toLowerCase() == 'li') {if (domUtils.hasClass(li, 'selected')) {domUtils.removeClasses(li, 'selected');} else {domUtils.addClass(li, 'selected');}}});},/* 初始化第一次的数据 */initData: function () {/* 拉取数据需要使用的值 */this.state = 0;this.listSize = editor.getOpt('imageManagerListSize');this.listIndex = 0;this.listEnd = false;/* 第一次拉取数据 */this.getImageData();},/* 重置界面 */reset: function() {this.initContainer();this.initData();},/* 向后台拉取图片列表数据 */getImageData: function () {var _this = this;if(!_this.listEnd && !this.isLoadingData) {this.isLoadingData = true;var url = editor.getActionUrl(editor.getOpt('imageManagerActionName')),isJsonp = utils.isCrossDomainUrl(url);ajax.request(url, {'timeout': 100000,'dataType': isJsonp ? 'jsonp':'','data': utils.extend({imgPath: imgPath,seek: $G('sel').value, start: this.listIndex,size: this.listSize}, editor.queryCommandValue('serverparam')),'method': 'get','onsuccess': function (r) {try {var json = isJsonp ? r:eval('(' + r.responseText + ')');if (json.state == 'SUCCESS') {_this.pushData(json.list);_this.listIndex = parseInt(json.start) + parseInt(json.list.length);if(_this.listIndex >= json.total) {_this.listEnd = true;}_this.isLoadingData = false;}} catch (e) {if(r.responseText.indexOf('ue_separate_ue') != -1) {var list = r.responseText.split(r.responseText);_this.pushData(list);_this.listIndex = parseInt(list.length);_this.listEnd = true;_this.isLoadingData = false;}}},'onerror': function () {_this.isLoadingData = false;}});}},/* 添加图片到列表界面上 */pushData: function (list) {var i, item, img, btns, icon, _this = this,urlPrefix = editor.getOpt('imageManagerUrlPrefix');for (i = 0; i < list.length; i++) {if(list[i] && list[i].url) {item = document.createElement('li');img = document.createElement('img');icon = document.createElement('span');domUtils.on(img, 'load', (function(image){return function(){_this.scale(image, image.parentNode.offsetWidth, image.parentNode.offsetHeight);}})(img));img.width = 113;img.setAttribute('src', urlPrefix + (list[i].url.indexOf('.') == -1 ? 'upload/folder-64.gif' : list[i].url));img.setAttribute('_src', urlPrefix + list[i].url);icon.setAttribute('title',list[i].url.substr(list[i].url.lastIndexOf('/') + 1));domUtils.addClass(icon, 'icon');item.appendChild(img);item.appendChild(icon);/*添加名称*/item.appendChild($("<div style='position:absolute;text-align: center;top: 113px;left: 0px;width: 113px;background-color: white;'>" + list[i].url.substr(list[i].url.lastIndexOf('/') + 1) + "</div>")[0]);/* 添加删除功能 */item.appendChild($("<span class='delbtn' url='" + list[i].url + "'>✖</span>").click(function () {var del = $(this);try {window.event.cancelBubble = true; //停止冒泡window.event.returnValue = false; //阻止事件的默认行为window.event.preventDefault();    //取消事件的默认行为  window.event.stopPropagation();   //阻止事件的传播} finally {if (!confirm("确定要删除吗?")) return;$.post(editor.getOpt("serverUrl") + "?action=deleteimage", { "path": del.attr("url") }, function (data) {if (data.state == "ok") del.parent().remove();else alert(data);});}})[0]);this.list.insertBefore(item, this.clearFloat);}}},/* 改变图片大小 */scale: function (img, w, h, type) {var ow = img.width,oh = img.height;if (type == 'justify') {if (ow >= oh) {img.width = w;img.height = h * oh / ow;img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';} else {img.width = w * ow / oh;img.height = h;img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';}} else {if (ow >= oh) {img.width = w * ow / oh;img.height = h;img.style.marginLeft = '-' + parseInt((img.width - w) / 2) + 'px';} else {img.width = w;img.height = h * oh / ow;img.style.marginTop = '-' + parseInt((img.height - h) / 2) + 'px';}}},getInsertList: function () {var i, lis = this.list.children, list = [], align = getAlign();for (i = 0; i < lis.length; i++) {if (domUtils.hasClass(lis[i], 'selected')) {var img = lis[i].firstChild,src = img.getAttribute('_src');list.push({src: src,_src: src,alt: src.substr(src.lastIndexOf('/') + 1),floatStyle: align});}}return list;}};

改造ueditor 在线图片功能 添加 删除 功能相关推荐

  1. Vue之通过连接数据库的接口获取列表实现添加删除功能

    把最近学习vue的一些知识点记录下来,今天记录一下Vue通过vue-resource连接数据库接口渲染列表和添加删除功能 首先我们得引入vue的版本文件和vue-resource.js,注意:vue- ...

  2. Qt5.10实现图片转文字功能添加截图功能代码分析

    继续更新之前的图片转文字功能,并添加截图功能代码. 这里我仅仅只是先截取全屏图片,点击截图功能就可以将屏幕截图.后续功能待完善. 我们来分析一下,这个是怎么实现的. 源码下载地址:ocr2019121 ...

  3. 【文件和递归】File:创建功能,删除功能,重命名功能,判断功能,基本获取功能,高级获取功能,断有没有.png后的文件,递归:归注意事项,用代码求出实现5的阶乘,不死神兔案例,递归删除带内容的目录

    一. 文件 我们想要实现IO操作,就必须要知道硬盘上文件的表现形式 Java提供了一个类让我们操作硬盘上的文件:File File也就是文件表现形式 1.File:文件和目录(文件夹)路径名的抽象表示 ...

  4. 自定义Uview的Album 相册组件添加删除功能

    功能需要,直接使用了Album组件 不用自己去调样式了,直接可以大图预览,对超出限制数量的照片可以折叠 修改组件 先找到组件中图片的位置.添加一格删除图标,给图标添加点击事件,我这里显示图片的地址是包 ...

  5. C1—— cesium 离线开发去除在线图片自己添加背景图

    第一步: vsCode全局搜索createDefaultImageryProviderViewModels将providerViewModels里push的全部注释掉(主要是Cesium.js的). ...

  6. Android 实现图片相册选择+拍照,并在选中的图片右上角添加删除图标。

    效果图: 一.在app的build中引入相应的框架 //recyclerview implementation "androidx.recyclerview:recyclerview:1.1 ...

  7. 图片 按钮: 添加+删除+替换

    <!DOCTYPE html> <html>     <head>         <meta charset="UTF-8">   ...

  8. php ueditor 去掉在线管理,UEditor 添加在线管理图片删除功能 (转载)

    第一,需要添加一个 php 文件来实现删除功能,文件添加到: ueditor\php\action_delete.php 代码内容: /*--------------------------- * a ...

  9. uve 使用百度ueditor自定义图片上传,在线图片插入,在线图片管理

    前言 本帖所有内容均用于学习使用,如有涉及侵权,请看到后联系我进行删帖 上图片 环境 "axios": "^0.21.1", "element-ui& ...

最新文章

  1. python bindings_OpenCV-Python Bindings 如何工作 | 六十四
  2. 《Spring Cloud Netflix官方文档》2. 服务发现:Eureka服务器
  3. c语言操作空间怎么打开_学好C语言,离大神更近一步,C环境的安装
  4. 如何在Java中使用Zxing和JFreeSVG创建QR Code SVG?
  5. 面试精讲之面试考点及大厂真题 - 分布式专栏 16 数据库如何做分库分表,读写分离
  6. JavaScript 第十章总结:first class functions
  7. 《深入解析IPv6(第3版)》——10.5 失效网关检测
  8. 解决在DHCP环境下私自指定IP和私自搭建DHCP服务器的方法
  9. 阶段3 2.Spring_04.Spring的常用注解_7 改变作用范围以及和生命周期相关的注解
  10. html转换为pdf的笔顺,正式出台的笔顺标准写法,很全面!(附电子打印版)
  11. 王之泰201771010131《面向对象程序设计(java)》第十五周学习总结
  12. Ps编程脚本开发零基础学脚本(一)
  13. 如何将.keystore 文件转成.key文件
  14. Win8调整笔记本亮度,数值有变化但无效果
  15. MATLAB下批量修改图片名称
  16. scanf()函数详解
  17. c语言 以时间做种子的随机数,为什么用时间做种子,随机数还是一样的?
  18. itext7学习笔记——第2章
  19. [附源码]Nodejs计算机毕业设计基于JAVA的校园电车租赁系统Express(程序+LW)
  20. ubuntu18.04使用xrdp远程连接

热门文章

  1. 四川大学计算机学院团委学生会,团委学生会
  2. 中山大学学报(自然科学版)Latex模板(非官方)
  3. 最新酒桌小游戏喝酒小程序源码_带流量主源码下载
  4. java实现第四届蓝桥杯猜灯谜
  5. 中国历史上农村剩余劳动力的安置政策
  6. java乱码 java使用的编码是utf-8还是utf-16还是unicode
  7. android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法
  8. OpenWrt 基础软件模块之netifd
  9. Solaris 常见问题
  10. 11. 合伙创业企业的股份计算解决办法