IE在sethtml时失去自定义标签

时间:2012-10-19 05:03:59

标签: javascript internet-explorer ckeditor custom-tag

以下代码在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>

1 个答案:

答案 0 :(得分:3)

如果你想在IE中使用自己的标签,你必须先创建它们。这与我们使用HTML5标签的情况相同。

因此,在使用<myTag>设置HTML之前,创建它CKEDITOR.document.createElement( 'mytag' )只是为了让IE知道它存在。

顺便说一句。请记住,必须在将要使用它们的同一文档中创建元素。因此,如果您想将它们插入编辑器的内容中,请在编辑器的文档中创建它们(例如CKEDITOR.instances.editor1.document)。否则IE将抛出错误。