【问题标题】:IE adding extra HTML tags while renderingIE 在渲染时添加额外的 HTML 标签
【发布时间】:2012-11-03 00:52:43
【问题描述】:

我将以下 HTML 标记作为输入粘贴到 IE 浏览器上,以代替浏览器上的选定内容:

<span id='fs_892_3006_0' class='ParaMarked' FactType='NonNumeric' onclick='OnSpanClick("fs_892_3006_0", event)' IsFactMarked='true'>
    <fact id='892_3006_0' keyword=''>
        <P style="margin: 0pt 0pt 10pt; line-height: 115%; font-size: 11pt;">
            <SPAN style="font-family: Calibri; font-size: 11pt;">THIS IS A TEST CONTENT 1</SPAN>
        </P>
    </fact>
</span>

但是,当呈现 HTML 时,IE 会在该 HTML 周围添加额外的标签,如下所示:

<p style="margin: 0pt 0pt 10pt; line-height: 115%; font-size: 11pt;">
   <span style="font-family: Calibri; font-size: 11pt;">
        <span id="fs_892_3006_0" class="ParaMarked" onclick='OnSpanClick("fs_892_3006_0", event)' IsFactMarked="true" FactType="NonNumeric">
          <fact id="892_3006_0" keyword="">
</p><p style="margin: 0pt 0pt 10pt; line-height: 115%; font-size: 11pt;"><span style="font-family: Calibri; font-size: 11pt;">THIS IS A TEST CONTENT 1</span></p></fact></span></span>

我尝试了以下技术将 HTML 粘贴到浏览器上,但结果相同:
注意:“markedText”是包含上述 HTML 输入的 javascript 变量

1. pasteHTML(markedText) : http://msdn.microsoft.com/en-us/library/ie/ms536656(v=vs.85).aspx
2. Rangy 库:
var sel = rangy.getSelection();
var range = sel.getRangeAt(0);
range.deleteContents();
var node = range.createContextualFragment(markedText);
range.insertNode(节点);

任何关于此的指针将不胜感激。

谢谢。

【问题讨论】:

  • 嵌套好像错了:

  • 感谢您的回复。不知何故,上面的输入代码框错过了 标记。更新了上面的输入。仍然面临这个问题......
  • 尝试将

    元素替换为内联元素,例如另一个 。使用 CSS 使其成为块级。也许 IE 或您的所见即所得(如果有)试图使内联元素不包含块。另外,什么是?在谷歌上找不到。

  • 是进一步处理 html 文档所需的自定义标签。

    元素来自从匿名源获取的输入文件。我无法控制更改此内容。我在这里做的唯一操作是,在输入 HTML 周围添加自定义 标签并将其粘贴到浏览器上。把它当作这样: 1. 你从浏览器中得到选择的输入 HTML。 2. 添加 Input HTML 3. 粘贴点 2 的 html 输出代替点 1 的选定 HTML。

  • 好吧,如果你可以控制 span 包装器,尝试用
    替换它,也许会有所帮助。

标签: html internet-explorer render


【解决方案1】:

跨度内的 p 可能不起作用,因为它是内联元素内的块级元素。

某些浏览器会通过将内联元素包装在块级元素(默认为“p”)中来“修复”该问题,并继续处理其余的标记。

【讨论】:

  • 是的。如果只添加额外的

    而没有任何内联样式,这是可以理解的。但是,在上述情况下,

    都添加了相同的 html 内容样式(即精确副本)。这有什么原因吗?

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多