• Ajax应用中CKEDITOR多实例问题的解决


    著名的Fckeditor升级之后就改名叫了CKEDITOR,界面和功能有了很大的提升,所以我在最近的项目中应用CKEDITOR。随着项目的深入,在Ajax应用较多的一个部分使用CKEDITOR时发现了问题,描述如下:

    通过单击一个链接,调入需要显示的内容,其中包括一个富文本编辑器,这里使用了CKEDITOR。第一次调入时,一切正常。噩梦从第二次开始,在Firefox3.5+中,第二次的时候提示 i.contentWindow is null ,而在IE系列中则是一些模糊的错误提示。

    出现这个问题后,分析的方向一直集中在CKEDITOR多实例的问题。因为第一次点击链接,调用内容时,已经进行了一次CKEDITOR的实例化,第二次调入时必然会与第一次的冲突。查阅了CKEDITOR的样例资料,试了下面的方法:

    if( editor ){

      editor.destroy();

      editor = null;

    }

    editor = CKEDITOR.replace(‘content’);

    但是没有用,问题依然发生。后来google之,得到了目前可以正常解决这个问题的方法

    if( CKEDITOR.instances['content'] ){
        CKEDITOR.remove(CKEDITOR.instances['content']);
    }

     

    CKDEITOR.replace(‘content’);

    应用了这个方法之后,不管是多少次调用,都不会再发生错误,应该就是正确的解决方法了,但是可惜的是在CKEDITOR的官方文档和论坛中均为看到相关的说明,遗憾…

    Technorati 标签: ,,

    参考资料:

    1、CKEDITOR

    2、CKEDITOR instance already exists

  • 相关阅读:
    三种空格unicode(u00A0,u0020,u3000)表示的区别
    python调用C++之pybind11入门(相互调用)
    基于go手动写个转发代理服务
    git rebase VS git merge
    外挂
    C#本地修改器
    C# 人工智能开源库生物特征
    深层信念网络
    ASP.NET CORE(C#)与Spring Boot MVC(JAVA)
    Net UI Spy工具:ManagedSpy
  • 原文地址:https://www.cnblogs.com/cocowool/p/1817989.html
Copyright © 2020-2023  润新知