【问题标题】:IE lose custom tag while sethtmlIE 在 sethtml 时丢失自定义标签
【发布时间】:2012-10-19 05:03:59
【问题描述】:

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

【问题讨论】:

    标签: javascript internet-explorer ckeditor custom-tag


    【解决方案1】:

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

    所以在使用&lt;myTag&gt; 设置HTML 之前,先创建CKEDITOR.document.createElement( 'mytag' ) 只是为了让IE 知道它的存在。

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

    【讨论】:

    • 已存在于文档内容中,但它抛出错误
    • 请查看编辑后的帖子。它没有给出错误,但一些值会自动丢失
    • 正如我告诉你的 - 为你的标签创建元素(这必须在使用它们之前完成)并且一切都应该工作。
    • 我使用CKEDITOR.document.createElement('myTag'); 设置HTML,我也尝试使用EditorInstance.document.createElement("myTag");,但结果仍然相同,请再次检查我的问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多