一个页面可以加载多个ueditor实例吗

 我来答
百度网友cf706bdb71e
2018-07-28 · TA获得超过1658个赞
知道大有可为答主
回答量:1649
采纳率:86%
帮助的人:318万
展开全部
在同一个页面中,创建了两个百度的 UEditor 编辑器,但是只有一个起作用了,或者即使两个都起作用了,在向第二个中插入内容时,总插入到第一个中去了。
原来啊,代码应该这样:
// 只会第一个起作用
UE.getEditor(document.getElementById("textarea1"));
UE.getEditor(document.getElementById("textarea2"));

// 两个都会起作用
UE.getEditor("textarea1");
UE.getEditor("textarea2");

UE.getEditor 应该传入 Id,不要传入对象。
xiangjuan314
2016-05-30 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2902万
展开全部
在同一个页面中,创建了两个百度的 UEditor 编辑器,但是只有一个起作用了,或者即使两个都起作用了,在向第二个中插入内容时,总插入到第一个中去了。
原来啊,代码应该这样:
// 只会第一个起作用
UE.getEditor(document.getElementById("textarea1"));
UE.getEditor(document.getElementById("textarea2"));

// 两个都会起作用
UE.getEditor("textarea1");
UE.getEditor("textarea2");

UE.getEditor 应该传入 Id,不要传入对象。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赫尔今日谈
2021-12-31 · TA获得超过426个赞
知道小有建树答主
回答量:567
采纳率:66%
帮助的人:504万
展开全部
上面的方法我试了不能成功,还是只有最后一个编辑器有效,经过仔细看ueditor.all.js文件发现有些关键地方被写死了,导致多个ueditor实例都产生相同的代码,修改一下:
ueditor.all.js第6533行:

var uid = 0, _selectionChangeTimer;
改成
var uid = Math.round(Math.random()*10), _selectionChangeTimer;
第6929,6930,6931行

'<script type=\'text/javascript\' ' + (ie ? 'defer=\'defer\'' : '' ) +' id=\'_initialScript\'>' +
'setTimeout(function(){editor = window.parent.UE.instants[\'ueditorInstant' + me.uid + '\'];editor._setup(document);},0);' +
'var _tmpScript = document.getElementById(\'_initialScript\');_tmpScript.parentNode.removeChild(_tmpScript);</script></html>';
改成:
'<script type=\'text/javascript\' ' + (ie ? 'defer=\'defer\'' : '' ) +' id=\''+ me.uid +'\'>' +
'setTimeout(function(){editor = window.parent.UE.instants[\'ueditorInstant' + me.uid + '\'];editor._setup(document);},0);' +
'var _tmpScript = document.getElementById(\''+ me.uid +'\');_tmpScript.parentNode.removeChild(_tmpScript);</script></html>';
然后保存ueditor.all.js文件上传服务器覆盖原来的。
当页面使用多个ueditor时候在</head>之前添加js引用
<script type="text/javascript" src="你的代码网址/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="你的代码网址/ueditor/ueditor.all.js"></script>
在页面需要编辑器的位置添加如下代码:
<textarea name="myhtml" id="myhtml" style="width:100%;">此处放需要编辑的内容A</textarea>
<script type="text/javascript">var ue = new baidu.editor.ui.Editor({initialFrameHeight:400});ue.render("myhtml");</script>';
再来一个编辑器
<textarea name="myhtml2" id="myhtml2" style="width:100%;">此处放需要编辑的内容B</textarea>
<script type="text/javascript">var ue = new baidu.editor.ui.Editor({initialFrameHeight:400});ue.render("myhtml2");</script>';
第三个
<textarea name="myhtml3" id="myhtml3" style="width:100%;">此处放需要编辑的内容C</textarea>
<script type="text/javascript">var ue = new baidu.editor.ui.Editor({initialFrameHeight:400});ue.render("myhtml3");</script>';
大功告成。如果把修改后的ueditor.all.js文件压缩为min后使用,我试过不成功,就只好使用ueditor.all.js了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式