tinymce vue拓展多图上传 实现拖拽切换位置,图片排序
创始人
2025-01-08 20:03:39
0

实现功能:基于tinymce TinyMCE中文文档中文手册   拖拽图片排序,去掉全部上传按钮,点击保存上传图片并关闭弹窗,优化了一些交互提示

声明:本人不是做vue前端的,可能有些更好的方法实现拖拽或者其他一些开源库实现。

代码plugin.js:

tinymce.PluginManager.add('axupimgs', function(editor, url) { 	var pluginName='Ax多图片上传'; 	window.axupimgs={}; //扔外部公共变量,也可以扔一个自定义的位置  	var baseURL=tinymce.baseURL; 	// var iframe1 = baseURL+'/plugins/axupimgs/upfiles.html'; 	var iframe1 = location.origin+'/tinymce/axupimgs/upfiles_new.html';     axupimgs.images_upload_handler = editor.getParam('images_upload_handler', undefined, 'function');     axupimgs.images_upload_base_path = editor.getParam('images_upload_base_path', '', 'string');     axupimgs.axupimgs_filetype = editor.getParam('axupimgs_filetype', '.png,.gif,.jpg,.jpeg', 'string'); 	axupimgs.res=[]; 	var openDialog = function() { 		isAddEventListener(true) 		return editor.windowManager.openUrl({ 			title: pluginName, 			size: 'large', 			url:iframe1, 			buttons: [ 				{ 					type: 'custom', 					text: 'Close', 					name: 'close', 				}, 				{ 					type: 'custom', 					text: 'Save', 					name: 'save', 					primary: true 				}, 			], 			onAction: function (api, details) { 				switch (details.name) { 					case 'save': 						//发送给upfiles,上传图片 						window.postMessage({ action: 'upLoadPictureFile' }, '*'); 						break; 					case 'close': 						window.postMessage({ action: 'closeUpLoadPictureFile' }, '*'); 						isAddEventListener(false) 						break; 					default: 						break; 				} 			}, 		}); 	};  	//保存 	function save() { 		// 链接插入富文本显示 		var html = ''; 		var imgs = axupimgs.res; 		var len = imgs.length; 		for (let i = 0; i < len; i++) { 			if (imgs[i].url) { 				html += ''; 			} 		} 		editor.insertContent(html); 		axupimgs.res = []; 		tinymce.activeEditor.windowManager.close() 	};  	//处理消息 	function handleMessage(event){ 		var data = event.data; 		if (data.action === 'savePictureFile') { 			save(); 			isAddEventListener(false) 		} 	}  	//添加监听 	function isAddEventListener(isAdd){ 		if(isAdd){ 			// 接收来自 iframe1 的消息 			window.addEventListener('message', handleMessage, false) 		}else{ 			window.removeEventListener('message',handleMessage, false) 		} 	}  	editor.ui.registry.getAll().icons.axupimgs || editor.ui.registry.addIcon('axupimgs','');  	editor.ui.registry.addButton('axupimgs', { 		icon: 'axupimgs',         tooltip: pluginName, 		onAction: function() { 			openDialog(); 		} 	}); 	editor.ui.registry.addMenuItem('axupimgs', { 		icon: 'axupimgs', 		text: '图片批量上传...', 		onAction: function() { 			openDialog(); 		} 	}); 	return { 		getMetadata: function() { 			return  { 				name: pluginName, 				url: "http://tinymce.ax-z.cn/more-plugins/axupimgs.php", 			}; 		} 	}; });  

htmlupfiles_new.html

             axupimgs                                       

    相关内容

    热门资讯

    正品辅助!相约十三水破解,越悦... 越悦游戏字牌攻略是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
    推荐透视!福建天天开心十三张辅... 推荐透视!福建天天开心十三张辅助软件,雀友会广东潮汕辅助软件(附辅助开挂工具);福建天天开心十三张辅...
    2026教程开挂!网上微乐家乡... 网上微乐家乡微信版辅助器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可...
    原来有辅助!福建天天开心辅助真... 【亲,福建天天开心辅助真实性 这款游戏可以开挂的,确实是有挂的,很多玩家在这款福建天天开心辅助真实性...
    关于透视!广东插件智能插件安装... 关于透视!广东插件智能插件安装包免费,赣牌圈有挂吗(附辅助开挂软件);广东插件智能插件安装包免费简单...
    2026新版技巧辅助!开心泉州... 2026新版技巧辅助!开心泉州小程序辅助下载,雀友会广东潮汕辅助脚本(揭秘开挂辅助神器);无需打开直...
    通报辅助!青龙大厅挂什么价格,... 通报辅助!青龙大厅挂什么价格,多乐跑得私人房间插件,玩家必看科普开挂(有挂助手)【无需打开直接搜索加...
    教会透视!友友联盟免费辅助器a... 教会透视!友友联盟免费辅助器app,反杀新火神辅助(附辅助开挂插件);是一款可以让一直输的玩家,快速...
    线上教程辅助!微乐游戏辅助脚本... 线上教程辅助!微乐游戏辅助脚本安装,新超圣正版辅助(推荐一款开挂辅助脚本);无需打开直接搜索微信(1...
    盘点辅助!土豪联盟怎么开辅助,... 盘点辅助!土豪联盟怎么开辅助,微乐陕西三代自建房怎么提高胜率,必备攻略开挂(详细教程);无需打开直接...