我正在尝试使用tinymce 4.7.1(从旧的tinymce 4.3.1升级)。当我尝试通过调用 setContent 方法以编程方式设置 tinymce 的内容时,它抛出以下错误:
Cannot read property 'parse' of undefined TypeError: Cannot read property 'parse' of undefined
在查看错误的详细信息后,我意识到tinymce 期望在它的tinymce.dom 中具有序列化类,并且在没有此类的情况下,它无法解析此错误。
这是来自tinymce的片段
else {
// Parse and serialize the html
if (args.format !== 'raw') {
content = new Serializer({
validate: self.validate
}, self.schema).serialize(
self.parser.parse(content, { isRootContent: true }) //this line is throwing error
);
}
与之前的版本(4.3.1 版本对我来说运行良好)相比,对序列化类没有这样的依赖。
有人可以建议我是否必须添加更多插件或类(默认包中未提供)才能使我的代码正常工作?
我的观察:在一个孤立的原型(prototype)示例中,当我运行托管在云上的tinymce时,它工作得很好。
最佳答案
您能否展示一些运行代码来显示您如何使用 setContent()
?我怀疑您试图在编辑器完全初始化之前调用它,因为 init()
方法是异步的。
确保等待编辑器完全初始化的最简单方法是依赖编辑器提供的 init
事件:
tinymce.init({
selector: '#myTextarea',
...
...
setup: function (editor) {
editor.on('init', function () {
editor.setContent('Using the on init stuff!');
});
}
});
关于javascript - TinyMce 执行 setContent 时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46761983/