6

我正在尝试使用CKeditor,但是当我尝试教程中的示例并且浏览器中只显示一个 texbox 时,会出现以下错误(在 JS 控制台中)。

ReferenceError: CKEDITOR 未定义 [Break On This Error]
CKEDITOR.replace('editor1'); /xampp/(第 13 行)

请注意,当我在我的虚拟主机上尝试该示例时,该示例有效。文件 ckeditor.js 可以从浏览器访问。

4

4 回答 4

7

删除前导斜杠/ckeditor/ckeditor.js(因此尝试使用ckeditor/ckeditor.js)。

前导斜线表示“”。

所以如果你使用一个URL之类http://bp.php5.cz/的,然后说/ckeditor/ckeditor.js,那就意味着http://bp.php5.cz/ckeditor/ckeditor.js。但是,如果您的 URL 是localhost/xampp/,它将解析为localhost/ckeditor/ckeditor.js,这不是您想要的。

如果省略前导斜杠,则相对 URL 将从“当前 URL”解析,因此在这两种情况下都是正确的。

最安全的方法当然是使用绝对 URL。

于 2013-05-07T11:31:51.330 回答
5

就我而言,我在结束正文标记之前加载了 CDN 脚本,在CKEDITOR.replace( 'editor1' ). 把它扔在头上,一切都很好。

于 2015-05-16T01:41:12.483 回答
2

如果您从 CDN 加载,请检查您使用的是完整 URL,包括“http:”部分。

于 2013-05-07T11:25:39.720 回答
0

一定要注意ckeditor.js的声明。它必须在 textarea 输入及其初始化之前

<script src="https://cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script>
.
.
<input type=textarea" id="ckedit" ...
.
.
<script type="text/javascript">
 var editor = CKEDITOR.replace( 'teckeditor', {
.
.

等等等等

问题是我们通常在 js 脚本声明之前声明

</body>

标签。

在这些情况下,声明可能在输入文本区域和 ckedit 初始化之后

=> 这就是为什么你有错误消息“ReferenceError: CKEDITOR is not defined”

于 2021-06-21T20:28:58.013 回答