- 将UEditor部署到项目中之后,工具栏上面的提示文字出现乱码,怎么办?
这是由于项目本身的编码格式和UEditor的编码格式不同造成的。目前UEditor只提供了UTF-8格式的版本,如果用户网站的编码格式采用的是非UTF-8格式,那就有可能出现乱码现象。解决方法是将UEditor中的对应文件转成对应的编码格式即可。点此下载转码工具。
- 表情设置了本地化之后,插入的表情只显示了一个叉叉,怎么办?
首先请确保dialogs/emotion/目录下存在images文件夹及其下属的所有表情文件。如果检查后确实存在对应的表情文件,那可以在编辑器中点击未显示的表情图标,在弹出的浮层中点击“修改”,然后查看地址栏中的表情地址是否指向对应的目录。如果没有,请修改editor_config.js配置文件中的URL参数。
- 上传的图片在编辑器中显示不出来,怎么办?
一般上来说,这是由于图片路径配置错误引起的。图片路径的配置需要和后端处理程序结合来确定。假设后端返回的路径是“uploadfiles/1234231432.jpg”(查看图片上传教程 ),那么前端editor_config.js文件中的配置项imagePath需要配置的信息是从根目录一直到uploadfiles的上级目录为止。
- 图片上传成功之后,在编辑器中能显示出来,但是保存到数据库后在项目的另外一个页面却不能正确显示,怎么办?
UEditor的图片上传默认采用了相对地址保存的方式,在数据库中存储的地址是相对于编辑器实例化页面的(如果希望使用绝对地址,也可以在editor_config.js中修改imagePath的值为网站的绝对地址)。因此如果在另外的页面需要展示数据库中的图片时,需要手动去调整对应的图片地址。一种方式是替换字符串,另外一种方式是设置base标签。具体可以参考我们提供的demo示例。
- 代码高亮功能在编辑器中能够正确显示,可是在展示页面却没有高亮效果,为什么?
UEditor的代码高亮功能需要对应的CSS样式支持。在编辑框内,UEditor默认已经加载了对应的样式,但是当用户将提交保存后的代码展示在其他页面的时候,失去对应样式支持的代码高亮肯定是没有效果的。解决的方法是在需要展示代码高亮的页面导入UEditor资源文件夹third-party目录下的对应CSS文件和JS解析文件。具体来说,就是导入shCoreDefault.css文件和shCore.js文件,然后在页面中执行 SyntaxHighlighter.all()即可。
- IE6下初始化编辑器的时候报错,并提示“已终止操作”怎么办?
这种出现原因一般是实例化编辑器的时候DOM元素尚未加载完成导致的。解决方案是等待dom元素加载完成之后再进行实例化,其中一种方法是在实例化编辑器的时候添加settimeout方法,示例代码如下:
<script type="text/javascript"> var editor = new baidu.editor.ui.Editor({textarea:‘myValue‘}); setTimeout(function(){ editor.render("myEditor"); },0); </script>
- 大部分编辑器的容器都使用textarea,为什么UEditor采用了很特殊的script标签?
首先要说明一点的是,UEditor也支持textarea标签作为编辑器的外围容器,只要将对应的标签名字换成textarea即可。除此之外,UEditor还支持使用div和script标签作为其容器。之所以要这样做,只是为了尽最大可能去满足和适应用户的各种不同需求。官方推荐使用script标签的原因是textarea会在提交数据的时候自动对里面的部分html文本进行一次转码,从而导致有些不熟悉的用户在再编辑的时候出现编码混乱的问题。而使用script标签可以很好地克服这个缺点。
- 如何禁用编辑器提供的右键菜单?
UEditor提供了自适应选区内容的右键菜单,建议用户不要禁用。如果非要禁用的话,可以在编辑器初始化话的时候传入参数contextMenu:[]即可。
- IE6下切换源码的时候明显感觉到延迟现象,怎么回事?
UEditor集成了codemirror第三方插件用来实现源码高亮模式,因此在切换的时候需要做很多的特殊处理从而导致了速度变慢。没有源码高亮需求的同学可以在配置项中设置sourceEditor: "textarea"来关闭这个效果。
- 图片上传的页面或者图片转存页面上的上传falsh渲染不出来怎么办?
这种情况的出现一般是因为没有将编辑器相关文件部署到服务器,而是直接在本地打开demo页面造成的,具体原因是受到了flash安全机制的限制。请同学们在测试代码,尤其是图片上传等需要和后端交互的模块时,请务必将编辑器部署到服务器中运行。
- 从数据库中获取数据,然后通过initialsContent参数或者script、textarea等标签设置到编辑器之后,出现语法错误提示或者显示内容不完整,怎么办?
出现这个问题的原因一般是初始化的内容中存在特殊的标签或者符号导致的。举例来说,如果通过设置initialsContent的方式来初始化的话,那么其值中出现的所有内容必须对引号(‘或者")进行转码,否则具体内容会和系统定义的单引号冲突,造成内容被截断,或者直接报错。如果用textarea标签或者script标签来初始化的话,那必须确保内容中班不能出现script或者textarea标签,否则也会出现内容被截断的现象。