下面的代码在FF和IE中运行
TempNode= CKEDITOR.dom.element.createFromHtml("<span></span>");
TempNode.setHtml("<p>test</p>");
但是下面提到的代码在IE中丢失了用户定义的标签(FF工作正常)
TempNode= CKEDITOR.dom.element.createFromHtml("<span></span>");
TempNode.setHtml("<myTag>test</myTag>");
* appendHtml()*也有同样的问题
我的确切要求是:
Element.setHtml(AnotherElement.getHtml());
AnotherElement.getHtml()中的原始值为:
<P><mytag id="test_39878" data-cke-expando="undefined">some. text</myTag></P>
在Element.sethtml()之后,它包含的值是:
<P>some. tex</MYTAG></P>
最佳答案
如果要在IE中使用自己的标签,则必须先创建它们。这与我们使用HTML5标签的情况相同。
因此,在使用<myTag>
设置HTML之前,请创建它CKEDITOR.document.createElement( 'mytag' )
只是为了让IE知道它的存在。
顺便说一句。请记住,元素必须在使用它们的同一文档中创建。因此,如果您想将它们插入编辑器的内容中,请在编辑器的文档中创建它们(例如CKEDITOR.instances.editor1.document
)。否则IE会抛出错误。