百度ueditor的Cannot set property 'innerHTML' of null 问题

这两天一直在用百度ueditor,它是一款很好的在线编辑器。想了解去官网http://ueditor.baidu.com/website/了解。

百度Ueditor

ueditor.all.js没有用ueditor.all.min.js是为了方便看源码。

百度Ueditor的各语言的配置也是不同的,请去官网查看并下载源码。

问题


百度ueditor的Cannot set property 'innerHTML' of null 问题_第1张图片

当第一次加载的时候,编辑器是能得到数据的。当我返回上一页,再次进入时,这时候编辑器就会无数据且报Cannot set property 'innerHTML' of null这个问题。

看了一下配置及加载顺序也是没有问题,那么只能去看一下源码了。

百度ueditor的Cannot set property 'innerHTML' of null 问题_第2张图片
百度ueditor的Cannot set property 'innerHTML' of null 问题_第3张图片

1、加载 

1、instances初始化对像

百度ueditor的Cannot set property 'innerHTML' of null 问题_第4张图片

2、判断是否对像已经存在实例化,如果没有就重新生成一个编辑器。    

回头看一下问题:Cannot set property 'innerHTML' of null,并不是undefined.这说明经判断对像已经实例化,但是在返回上页,再次进入时,对像虽然还是存在,就不会再次加载ready.

百度ueditor的Cannot set property 'innerHTML' of null 问题_第5张图片

问题已经找到,我们怎么解决呢?既然已经有一个残疾的对像,那么我们就把它去除掉,每次进入都重新加载一次,如下图。

删除原来的对像,每次都会经过ready重新加载一次,大功告成。

你可能感兴趣的:(百度ueditor的Cannot set property 'innerHTML' of null 问题)