如何将回调设置为在所有tinyMCE编辑器初始化后执行?

时间:2020-05-19 作者:Krishna Suwal

我已使用加载tinyMCE编辑器wp_editor Wordpress的功能。

现在,我想在编辑器初始化后设置它的值。我试着这样做:

$(function() {
    tinymce.get(...).setContent(...);
});
但它抛出了一个错误Cannot read property \'setContent\' of undefined 因为编辑器尚未初始化。要确认它,我使用控制台记录console.log( tinymce.editors.length ) 报表及其打印0 但后来我检查变量时tinymce.editors 加载完成后使用浏览器控制台,编辑器就在那里,我可以操纵它。

因此,我的结论是等待所有tinyMCE编辑器初始化,然后运行上述代码来更改编辑器的值。注意,我需要使用JS而不是从后端(php)设置值。

编辑:我正在使用以下语句加载JS脚本:

add_action( \'admin_enqueue_scripts\', array( $this, \'enqueue_scripts\' ) );
enqueue_scripts 功能:

wp_enqueue_script(..., ..., true);
请告诉我是否有办法做到这一点。问我你是否需要更多信息,或者我不清楚。

提前感谢:)

1 个回复
最合适的回答,由SO网友:Godson Programmer 整理而成

您可以等待添加特定的编辑器管理器,然后绑定init 事件处理程序设置编辑器的内容,如下所示:

tinymce.on( \'addeditor\', e => {
    if ( e.editor.id === <your_editor_id> ) {
        e.editor.on( \'init\', event => {
            event.target.setContent( <your_editor_content> );
        });
    }
}, true );

相关推荐

嵌入CodePen Calorie脚本-jQuery错误

我正在尝试嵌入此代码:https://codepen.io/jme11/pen/zMVJVX我的Wordpress关于健身,但我不知道为什么它不能正常工作-我已经下载了代码的导出,它在独立的HTML(+js和css)文件中工作得很好(特别是完成的表单将显示在results div中)。然后,我将HTML嵌入到我的Wordpress模板页面中,它显示在前端,很好,我已经按照HTML中相同的顺序正确链接了css和js,并将它们检入(查看源代码显示它们已连接)填写表格并点击calculate确实可以做一些事情(