我们在网页上显示多个ckeditors。
用户在所有ckeditors中创建锚点 目前,工具栏中的链接图标为用户提供了在该ckeditor中引用锚点的功能 当点击网络链接时,用户也希望看到在其他Ckeditor中创建的锚点并引用这些锚点
有关如何实现显示来自其他ckeditors的多个锚点的任何提示/解决方案?
感谢
MK
答案 0 :(得分:2)
要更改找到锚点的算法,您必须覆盖此方法:CKEDITOR.plugins.link#getEditorAnchors
。
以下是其来源:https://github.com/ckeditor/ckeditor-dev/blob/master/plugins/link/plugin.js#L335-L370
您可以随时执行此操作 - 打开链接对话框时会动态调用此方法。
PS。它将在CKEditor 4.3.3之后起作用。以前的版本没有简单的解决方案。
答案 1 :(得分:0)
感谢您提供源代码的链接。
改变对话框/ links.js,更确切地说https://github.com/ckeditor/ckeditor-dev/blob/master/plugins/link/dialogs/link.js#L255-L257
更好我考虑过添加以下代码:
anchors = plugin.getEditorAnchors(editor);
for( var inst in CKEDITOR.instances) {
if (!CKEDITOR.tools.objectCompare(editor, CKEDITOR.instances[inst])) {
var a = plugin.getEditorAnchors(CKEDITOR.instances[inst]);
while(a.length) {
anchors.push( a.shift() );
}
}
}
this.getElement()[ anchors && anchors.length ? 'show' : 'hide' ]();