【问题标题】:How to wrap some html with a CDATA tag in jquery?如何在 jquery 中用 CDATA 标签包装一些 html?
【发布时间】:2014-03-09 11:40:07
【问题描述】:

如何将一些 html 包装在 CDATA 标记中的元素中,以便可以说是“消毒”...

我试过了……

$(this).html( "<![CDATA[" + $(this).html() + "]]>" );

$(this).wrap("CDATA");

第一个将它包装在保存 html 实体中,因此它不是 CDATA 标记。第二个不起作用。

谢谢。

【问题讨论】:

  • 你想通过 "'sterilized'" 实现什么?
  • 无论您在那里尝试什么,CDATA 都属于 XML,而不是 HTML,尤其是不属于 HTML5。你不需要在这里“消毒”任何东西

标签: javascript jquery html cdata html-sanitizing


【解决方案1】:

浏览器仅支持 XHTML 中的 CDATA 标记,因此您需要:

  1. 编写 XHTML。
  2. 将其作为Content-Type: application/xhtml+xml 提供,这样浏览器就不会通过 HTML 解析器推送它。

(以上我只在Chrome上测试过,大家可以see the results)。

最好让浏览器将其视为文本而不是 HTML:

$(this).text( $(this).html() );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2019-08-13
    相关资源
    最近更新 更多