百度 ueditor 一个编辑器实例,如何同时显示两个编辑区域?
微wx笑
2025-04-26【前端开发】
0
0关键字:
百度 Ueditor 编辑器
百度 ueditor 一个编辑器实例,如何同时显示两个编辑区域?看看豆包给出的答案:<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="wid
百度 ueditor 一个编辑器实例,如何同时显示两个编辑区域?
看看豆包给出的答案:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>两个 UEditor 编辑区域</title>
<!-- 引入 UEditor 的 CSS 文件 -->
<link rel="stylesheet" href="ueditor/themes/default/css/ueditor.css">
</head>
<body>
<!-- 第一个编辑区域的容器 -->
<div id="editor1" style="width: 800px; height: 300px;"></div>
<!-- 第二个编辑区域的容器 -->
<div id="editor2" style="width: 800px; height: 300px;"></div>
<!-- 引入 jQuery 库 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- 引入 UEditor 的配置文件 -->
<script src="ueditor/ueditor.config.js"></script>
<!-- 引入 UEditor 的核心文件 -->
<script src="ueditor/ueditor.all.min.js"></script>
<script>
// 初始化第一个编辑器实例
var editor1 = UE.getEditor('editor1');
// 初始化第二个编辑器实例
var editor2 = UE.getEditor('editor2');
</script>
</body>
</html>它这个方案是搞两个编辑器的实例出来;
我要求的是一个编辑器实例,如何同时显示两个编辑区域,看来还得靠自己;
先看一下效果:

实现方法相关代码:
UE.registerUI('split_editor', function(editor, uiName) {
editor.registerCommand(uiName, {
execCommand: function() {
var ueditor_0 = document.getElementById("ueditor_0");
if (!ueditor_0){
console.log("split_editor 失败,document.getElementById(\"ueditor_0\") 为空");
return false;
}
var ueditor_1 = document.getElementById("ueditor_1");
if (ueditor_1){
if (ueditor_1.style.display === "none"){
ueditor_0.width = "50%";
ueditor_1.style.display = "";
ueditor_1.width = "49.8%";
}else{
ueditor_1.style.display = "none";
ueditor_0.width = "100%";
}
}else{
ueditor_0.width = "50%";
ueditor_1 = document.createElement("iframe");
ueditor_1.id = "ueditor_1";
ueditor_1.width = "49.8%";
ueditor_1.height = "100%";
ueditor_1.frameBorder = "0";
ueditor_1.style.borderLeftWidth = "1px";
ueditor_1.style.borderLeftColor = "#D0D0D0";
ueditor_1.style.borderLeftStyle = "solid";
ueditor_1.src = "javascript:void(function(){document.open();document.write(\"<!DOCTYPE html><html xmlns='http://www.w3.org/1999/xhtml' class='view'><head><style type='text/css'>.view{padding:0;word-wrap:break-word;cursor:text;height:90%;} body{margin:8px;font-family:sans-serif;font-size:16px;}p{margin:5px 0;}</style><link rel='stylesheet' type='text/css' href='https://ivu4e.cn/e/extend/ueditor/themes/iframe.css'/></head><body class='view' contenteditable='true'></body><script type='text/javascript' id='_initialScript'>setTimeout(function(){editor = window.parent.UE.instants['ueditorInstant0'];document.body.innerHTML = editor.getContent();},0);var _tmpScript = document.getElementById('_initialScript');_tmpScript.parentNode.removeChild(_tmpScript);</script></html>\");document.close();}())";
document.getElementById("edui1_iframeholder").append(ueditor_1);
}
}
});
var btn = new UE.ui.Button({
name: uiName,
title: "将编辑区域一分为二",
cssRules: 'background-position: -840px -76px;',
onclick: function() {
editor.execCommand(uiName);
}
});
editor.addListener('selectionchange', function() {
var state = editor.queryCommandState(uiName);
if (state == -1) {
btn.setDisabled(true);
btn.setChecked(false);
} else {
btn.setDisabled(false);
btn.setChecked(state);
}
});
return btn;
});在ueditor目录下的customize.js文件中添加以上代码;
没有 customize.js 文件创建一个就可以;
然后在引用 ueditor.all.js 的之后添加对 customize.js 文件的引用;
图片的话在已经有的 icons.png 就可以;
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/front/2025-04-26/2062.html
上一篇:Chrome扩展background.js访问剪贴板指南
下一篇:返回列表



