首页 > 解决方案 > TinyMCE 插件创建回调直到第二次加载才运行

问题描述

我正在尝试向 TinyMCE 添加第三方插件,该插件旨在连接语言工具和 TinyMCE。只有在第二次加载页面后,插件才会加载并正常工作。该插件在此处正确创建

tinymce.PluginManager.add('languagetool', function(editor, url) {

并在此处添加到 TinyMCE 插件列表

 config.plugins = 'languagetool link lists paste';

第一次加载页面时,我收到以下错误。

未捕获的类型错误:无法将属性“onload”设置为 null

TinyMCE 根本不加载编辑器框。切换到不同页面并返回后,错误不再出现,但 TinyMCE 编辑器(具有一些插件功能)现在可见并且可以使用。

标签: javascriptreactjstinymce-4

解决方案


如果没有看到正在运行的代码,任何人都很难让您具体思考为什么会发生这种情况。每当我看到:

Cannot set property 'xxxxxxx' of null

...这通常意味着某些代码假定一个变量在其null. 例如我可以尝试执行:

tinymce.activeEditor.getContent();

...但是如果没有活动的编辑器,那么tinymce.activeEditornull就不能执行getContent()on null。在您的场景中,代码的某些部分正在尝试运行该onload方法,但正在调用该方法的对象是null.

您需要弄清楚是哪一行代码导致了这种情况,然后弄清楚为什么一个变量null在预期是其他东西时会出现。


推荐阅读