【发布时间】:2017-10-26 23:33:44
【问题描述】:
目前发现延迟加载 CKEditor 4 的问题,感谢任何建议。我尝试了什么:
- 包括
ckeditor_basic.js,但这已经需要CKEDITOR实例 - 点击时正在加载
ckeditor.js,但这会报错 '主线程上的同步 XMLHttpRequest 已被弃用,因为 对最终用户体验的不利影响。也 其他一些错误,严重失败。
任何建议表示赞赏!
【问题讨论】:
-
您能否更详细地解释一下您的用例到底是怎样的?可以在其上插入脚本并初始化编辑器codepen.io/j_swiderski/pen/qPGRGb,但我不确定这是否是您要查找的内容。
-
谢谢 - 确切地说,当我加载 JS 并尝试使用
CKEDITOR.appendTo时,尝试在点击时加载,我收到CKEditor is not defined错误。在您的示例中,它们是单独的操作,这会有所不同吗?当用户加载一个页面时,我不希望编辑器加载,只有当他们想要实际发布时,浏览量的百分比很低.. 赞赏 -
最有可能在脚本完全加载之前调用
appendTo。为了解决这个问题,您可以定期检查CKEDITOR对象是否可用。您可以使用setIntervaldeveloper.mozilla.org/en-US/docs/Web/API/… 并在加载 CKEditor 后删除间隔。您也可以使用此处描述的两种方法之一:stackoverflow.com/questions/3768768/…gist.github.com/AllThingsSmitty/889acd01889c84ff162c -
另一种可能性是使用较小的编辑器并每次加载脚本。请回答自己您真正需要多少插件,然后使用在线构建器-ckeditor.com/cke4/builder 根据您的需要创建您的编辑器。请使用开发工具查看以下示例并注意
ckeditor.js大小的差异:nightly.ckeditor.com/17-10-24-06-04/full/samples 第一种情况是 600KB,第二种情况是 400KB。如果您只需要基本格式,那么您的 ckeditor.js 可能会变得更小,并且在加载页面时应该不会成为问题。 -
您可以为此使用构建器:docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_build。只需获取编辑器源代码,对其进行 fork,进行更改并使用精简代码构建您的自定义编辑器。
标签: ckeditor ckeditor4.x