如何将已保存的html载入百度UEditor编辑器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将已保存的html载入百度UEditor编辑器?相关的知识,希望对你有一定的参考价值。

使用了百度UEditor编辑器,作为内部论坛留言,已成功将富文本的html保存进数据库,并读出显示。试图将保存的html载入UEditor编辑器进行编辑时,无法将内容载入编辑器中。

  思路:服务端asp读出数据库中html,写入页面中一个隐藏的<div>,然后客户端jscript用innerHTML读出html,然后用UE.getEditor('editor').execCommand('insertHtml', 变量);载入UEditor编辑器。

  方法1:在页面最后面直接写jscript,顺序加载,不成功。

  方法2:在页面的onload事件中运行jscript,不成功。

  方法3:添加一个按钮,在按钮的click事件中调用jscript,成功。

  根据观察,在方法1、方法2运行jscript时,UEditor对象尚未进行初始化,故UE.getEditor('editor').execCommand无法执行。方法3中,UEditor对象完成初始化,执行成功。可是不能每次都要先点按钮载入被编辑的内容,能否在页码加载的时候直接将原内容载入编辑器中?
在onload中调用setTimeout("loadhtml()",2000);,暂时解决了问题。但总感觉不爽,仍然求答案。

参考技术A

有没有试过这个呢?



http://ueditor.baidu.com/doc/#UE.Editor:ready

追问

请教:这段代码在什么地方添加?添加到ueditor.all.js中吗?还是添加在页面javascript中?我试着添加到页面javascript中无效。

追答

我加在页面中是有效的

追问

写入页面代码中,IE8运行错误

页码代码如下:

感觉回到当初直接运行一样,此时似乎“editor”对象尚未初始化。我用的是1.4.3版的ueditor,不知你用那个版本?

追答

我也是用143。像我这样写就行了,可能是百度设计问题。

追问

UE.getEditor('editor').addListener( 'ready',bbb());
function bbb()
alert("uedit已经ready");

以及在页码on_load中也加上alert("页面已经load");

追答

怎么了,没问题吧

我这么写load和ready的提示框都正常跳出来了

追问

字太多,追问写不下。
ready提示在前,页面上可以看到编辑器(已显示出来)。load提示在后,编辑器竟然不见了,确定后才又显示出来。问题就出在UE.getEditor('editor').execCommand上,提示ueditor.all.min.js出错,错误在260行228字符,提示:selection为空或不是对象。

追答

使用其他浏览器正常吗?

你可以把工程发到我的邮箱,邮箱已私信。

原来是多加了括号,直接用bbb就好了。具体请看邮件。

本回答被提问者和网友采纳

以上是关于如何将已保存的html载入百度UEditor编辑器?的主要内容,如果未能解决你的问题,请参考以下文章

dedecms自定义模型内容调用多个Ueditor

百度编辑器 Ueditor 如何增加字体 ?

如何在同一个页面加载两个或多个百度的 UEditor HTML 编辑器

PHP如何搭建百度Ueditor富文本编辑器

百度ueditor编辑器如何显示、修改从数据库中的数据?

如何调用百度编辑器ueditor的上传图片上传文件