javascript - CKEditor 4 有效,但 CKEditor 5 无效
问题描述
这有效:
<!DOCTYPE html>
<html lang="en">
<head>
<title>CKEditor Classic Editing Sample</title>
<!-- Make sure the path to CKEditor is correct. -->
<script src="scripts/ckeditor/ckeditor.js"></script>
<!-- this is with CKEDITOR 4 -->
<script>
window.addEventListener("load", function() {
CKEDITOR.replace ('editor1');
});
</script>
</head>
<body>
<form method="post">
<p>
My Editor:<br>
<textarea name="editor1" id="editor1"><p>Initial editor content.</p></textarea>
</p>
<p>
<input type="submit">
</p>
</form>
</body>
</html>
但是完全相同的 HTML,脚本路径更改为 CKEditor 5,<textarea>
没有被替换:
<!DOCTYPE html>
<html lang="en">
<head>
<title>CKEditor Classic Editing Sample</title>
<!-- Make sure the path to CKEditor is correct. -->
<script src="scripts/ckeditor5-build-classic/ckeditor.js"></script>
<!-- this is with CKEDITOR 5 -->
<script>
window.addEventListener("load", function() {
CKEDITOR.replace ('editor1');
});
</script>
</head>
<body>
<form method="post">
<p>
My Editor:<br>
<textarea name="editor1" id="editor1"><p>Initial editor content.</p></textarea>
</p>
<p>
<input type="submit">
</p>
</form>
</body>
</html>
我下载了 CKeditor 5 zip 文件并解压到指定的路径。在第二种情况下,chrome 错误控制台显示:
Uncaught ReferenceError: CKEDITOR is not defined
我错过了什么?
解决方案
所以,最终我在 CKEditor 网站上找到了相关文章: https ://cdn.ckeditor.com/#ckeditor5
v5 的 API 需要不同的语法:
<!DOCTYPE html>
<html lang="en">
<head>
<title>CKEditor Classic Editing Sample</title>
<!-- Make sure the path to CKEditor is correct. -->
<script src="https://cdn.ckeditor.com/ckeditor5/16.0.0/classic/ckeditor.js"></script>
<script>
window.addEventListener("load", function() {
ClassicEditor
.create( document.querySelector( '#editor' ) )
.then( editor => {
console.log( editor );
} )
.catch( error => {
console.error( error );
} );
});
</script>
</head>
<body>
<div id="editor">This is some sample content.</div>
</body>
</html>
也许只有我一个人,但我认为基本的“入门”指南可能会更好。在将初始化代码放入事件侦听器之前,我也遇到了 v5 错误。
推荐阅读
- javascript - 使用 Ajax 传递参数时 Laravel 405 错误
- python - 如何在 Django 的登录和注册表单中添加错误消息
- stripe-payments - 在设置 data.account 时,条带扩展 BankAccountListOptions 中的 Account 对象不起作用
- android - 如何测量可组合物?
- javascript - Sinon Fake Server 没有响应请求
- python - 在滚动菜单中全选后抓取
- python - 尝试训练 keras 模型时,出现错误:没有为任何变量提供梯度
- nginx - 如何通过服务器ip地址限制对prometheus的直接IP访问?
- elasticsearch - Filebeat 到 Elasticsearch:document_id 被移除(用于自定义 _id 时)
- asp.net-mvc - 是否可以将多个内容类型路由和绑定到同一个操作?