2017-09-26 15 views
0

从表面上看,这应该是很容易:CKEditor:如何将锚标签插入文档?

CKEDITOR.instances[Object.keys(CKEDITOR.instances)[0]].insertHtml(html); 

...其中,HTML是一个实际的HTML标签的字符串。可悲的是,这是行不通的。当我点击我的页面上调用此代码的按钮时,什么也没有发生。它根本不出现在文档中的任何地方,即使在源代码模式下也是如此。

我尝试使用insertElement:

var element = CKEDITOR.dom.element.createFromHtml(html); 
CKEDITOR.instances.editor1.insertElement(element); 

...和所有它所做的就是坚持下去,这是没有任何文档中的小红旗;如果我保存了文档并重新加载它,它就消失了。

的目标是插入:

<a name="something"></a> 

但唯一可行的就是insertText(),并把它变成“安全”的文字,即<和>变成LT;和gt ;.

请帮忙吗? :)

回答

1

我想你用从CKEDITOR文档(https://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement

  1. 你可能遇到了一个问题,它说的代码,即空锚显示 一个小红旗在编辑器中 (https://dev.ckeditor.com/ticket/14689 )。不幸的是,似乎 是CKEDITOR无法做到这一点。
  2. 空链接自动从 CKEDITOR中删除。您可以添加数据CKE-生存= “真”,所以这些 链接不会被删除,< A HREF = “#” 数据CKE-生存= “真” > </A >

问候

+0

谢谢!是的,就是这样。对我来说这不是一个100%的解决方案,但是在这个问题的情况下。我把那个data-cke放在那里,当我进入Source模式时,它保存了它,但是当我离开它并返回时,它就消失了。我想我必须要求用户选择一些文本,这样才能坚持下去。再次感谢! – RobG

+0

纠正...一旦我删除了href =“#”,它表现良好。不知道为什么我把href =“#”的名字也写成“something”。傻我。再次感谢您的帮助! – RobG