You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

页面加载时CKEditor编辑器不显示,控制台报getEditor未定义错误

问题描述

页面加载时CKEditor编辑器无法正常显示,JavaScript控制台抛出以下错误:

Uncaught TypeError: Cannot read property 'getEditor' of undefined

对应的调用栈信息:

ckeditor.js:347 Uncaught TypeError: Cannot read property 'getEditor' of undefined
    at a (ckeditor.js:347)
    at Object.CKEDITOR.replace (ckeditor.js:351)
    at submit-information:793

我当前的jQuery加载代码如下:

<script src="{{ asset('themes/js/jquery.min.js') }}"></script>
<script src="https://cdn.ckeditor.com/4.20.0/standard/ckeditor.js"></script>
解决方案

我碰到过好多次这类CKEditor初始化失败的问题,大概率是加载顺序或者初始化时机不对导致的,给你几个实用的排查和解决方向:

  • 确保CKEditor在jQuery之后加载:你现在的jQuery引入顺序是对的,但要确认CKEditor的脚本没有添加async或defer属性——这类属性会让脚本异步加载,可能导致CKEditor先于jQuery就绪,进而找不到依赖抛出错误。
  • 等待DOM完全就绪再初始化:别直接在全局作用域调用CKEDITOR.replace(),把初始化代码放到jQuery的DOM就绪回调里,确保要替换的textarea元素已经存在于DOM中:
    $(document).ready(function() {
        // 替换成你实际的textarea ID
        CKEDITOR.replace('your-textarea-id');
    });
    
  • 检查CKEditor是否成功加载:打开浏览器开发者工具的「Network」标签,刷新页面,确认ckeditor.js的请求状态是200(成功加载)。如果是用CDN链接,也要确认你的网络能正常访问该CDN资源。
  • 排查脚本冲突或重复引入:检查页面里有没有重复引入CKEditor脚本,或者同时引入了其他富文本编辑器(比如TinyMCE)——这类情况可能会覆盖全局的CKEDITOR变量,导致初始化失败。

内容的提问来源于stack exchange,提问作者Alireza moradi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:56:29