一个页面可以加载多个ueditor实例吗
3个回答
展开全部
在同一个页面中,创建了两个百度的 UEditor 编辑器,但是只有一个起作用了,或者即使两个都起作用了,在向第二个中插入内容时,总插入到第一个中去了。
原来啊,代码应该这样:
// 只会第一个起作用
UE.getEditor(document.getElementById("textarea1"));
UE.getEditor(document.getElementById("textarea2"));
// 两个都会起作用
UE.getEditor("textarea1");
UE.getEditor("textarea2");
UE.getEditor 应该传入 Id,不要传入对象。
原来啊,代码应该这样:
// 只会第一个起作用
UE.getEditor(document.getElementById("textarea1"));
UE.getEditor(document.getElementById("textarea2"));
// 两个都会起作用
UE.getEditor("textarea1");
UE.getEditor("textarea2");
UE.getEditor 应该传入 Id,不要传入对象。
展开全部
在同一个页面中,创建了两个百度的 UEditor 编辑器,但是只有一个起作用了,或者即使两个都起作用了,在向第二个中插入内容时,总插入到第一个中去了。
原来啊,代码应该这样:
// 只会第一个起作用
UE.getEditor(document.getElementById("textarea1"));
UE.getEditor(document.getElementById("textarea2"));
// 两个都会起作用
UE.getEditor("textarea1");
UE.getEditor("textarea2");
UE.getEditor 应该传入 Id,不要传入对象。
原来啊,代码应该这样:
// 只会第一个起作用
UE.getEditor(document.getElementById("textarea1"));
UE.getEditor(document.getElementById("textarea2"));
// 两个都会起作用
UE.getEditor("textarea1");
UE.getEditor("textarea2");
UE.getEditor 应该传入 Id,不要传入对象。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的方法我试了不能成功,还是只有最后一个编辑器有效,经过仔细看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了
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了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询