引用来自多个ckeditors的Anchor

时间:2014-04-29 00:10:04

标签: javascript jquery html ckeditor

我们在网页上显示多个ckeditors。

用户在所有ckeditors中创建锚点 目前,工具栏中的链接图标为用户提供了在该ckeditor中引用锚点的功能 当点击网络链接时,用户也希望看到在其他Ckeditor中创建的锚点并引用这些锚点

有关如何实现显示来自其他ckeditors的多个锚点的任何提示/解决方案?

感谢
MK

2 个答案:

答案 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' ]();