Javascript CKEditor:从外部脚本访问insertHtml()方法

Javascript CKEditor:从外部脚本访问insertHtml()方法,javascript,ckeditor,Javascript,Ckeditor,我正在使用CKEditor构建一个自定义文本编辑器,我想编写自己的JavaScript函数将HTML插入CKEditor窗口 CKEditor有一个名为editor.insertHtml()的方法,可以在文档中光标的位置插入HTML。这个方法可以从CKEditor插件中访问,但我更喜欢在CKEditor之外编写自己的函数,然后将生成的HTML插入编辑器 那么如何访问编辑器.insertHtml()?我复制了下面的代码。我尝试使用CKEDITOR.instances.editor1.insertH

我正在使用CKEditor构建一个自定义文本编辑器,我想编写自己的JavaScript函数将HTML插入CKEditor窗口

CKEditor有一个名为
editor.insertHtml()
的方法,可以在文档中光标的位置插入HTML。这个方法可以从CKEditor插件中访问,但我更喜欢在CKEditor之外编写自己的函数,然后将生成的HTML插入编辑器

那么如何访问
编辑器.insertHtml()
?我复制了下面的代码。我尝试使用
CKEDITOR.instances.editor1.insertHtml()
,但这不起作用

这个问题表明我需要收听
instancerady
事件,但我不确定如何执行此操作,因此我希望能得到更详细的解释。谢谢大家!

<html>
<head>
    <meta charset="utf-8">
    <script src="ckeditor/ckeditor.js"></script>
</head>
<body>
<textarea id="editor1"></textarea>
<script type="text/javascript">
    // Replaces the <textarea id="editor1"> with a CKEditor
    // instance, using default configuration.
    CKEDITOR.replace( 'editor1',
    {
        height:"500", width:"1000"
    });
</script>
<script type="text/javascript">
    CKEDITOR.instances.editor1.insertHtml('<h1>someText</h1>');
</script>

</body>
</html>

//将替换为CKEditor
//实例,使用默认配置。
CKEDITOR.replace('editor1',
{
高度:“500”,宽度:“1000”
});
CKEDITOR.instances.editor1.insertHtml('someText');
事件:

在创建、完全初始化并准备就绪CKEDITOR实例时激发 为了互动

您可以按如下方式使用它:

CKEDITOR.replace( 'editor1', {
    height: '500', 
    width: '1000',
    on: {
       instanceReady: function() {
           // this is current editor instance
           this.insertHtml( '<h1>someText</h1>' );
       }
    }
} );
CKEDITOR.replace('editor1'{
高度:'500',
宽度:“1000”,
关于:{
InstanceRady:函数(){
//这是当前编辑器实例
insertHtml('someText');
}
}
} );

要使用实例的API,基本上将代码放在
instancerady
回调中。否则,您的代码将在编辑器尚未准备就绪时执行。

在这种情况下,您很可能不应该使用
insertHtml
。我猜您正在尝试将数据加载到编辑器中,所以您应该在加载编辑器之前使用
getData
,或者将该HTML设置为textarea的值。