使用CKEditor 4以编程方式调用按钮

时间:2018-06-28 17:11:22

标签: ckeditor integration-testing

您好CKEditor专家

我可以使用JavaScript代码(页内)调用CKEditor的按钮和对话框吗?

我正在尝试将“ anchor”按钮的用法带回我们的CryptPad协作套件中。为此,我希望编写一个集成测试,该测试调用“ anchor”按钮,然后检查导出的内容是否确实包含预期的<a name="...">元素。我们的测试实际上是页面内运行的脚本(并由selenium调用)。作为JS页面的一部分,我可以调用什么函数来调用该按钮或调用与按钮调用完全相同的内容添加?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

通常,按钮具有定义的命令。如果您不知道要调用的按钮绑定了什么命令,则可以找到它:

var editor = CKEDITOR.insances[ instanceName ];
console.log( editor.ui.get( 'Anchor' ).command ) // 'anchor'
editor.execCommand( 'anchor' ) // Dialog opens

一旦我们知道了我们的命令,测试代码便会:

editor.on( 'dialogShow', function( evt ) {
  evt.data // Dialog instance
  // All code goes here
} );

editor.execCommand( 'anchor' );

访问docs以获取有关对话框方法的更多详细信息,这可能有助于您进行正确的测试。 https://docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_dialog.html