Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 需要做一个;防弹;div_Html - Fatal编程技术网

Html 需要做一个;防弹;div

Html 需要做一个;防弹;div,html,Html,如何制作一个即使内部信息结构制作不当也不会损坏的div 即: 编辑:上下文是,这是一个邮件系统,我无法控制发送给我的信息,这就是为什么我需要这样做,以便网站不会崩溃 我已经成功地尝试了iframe,但是我需要能够修改div的内部html,所以iframe并不理想 感谢您阅读。iFrame是唯一一个100%防弹的容器,用于将内容与周围页面隔离。iFrame是唯一一个100%防弹的容器,用于将内容与周围页面隔离。如果您在将损坏的标记附加到“bullet-proof”分区之前可以访问该功能在附加标

如何制作一个即使内部信息结构制作不当也不会损坏的div

即:


编辑:上下文是,这是一个邮件系统,我无法控制发送给我的信息,这就是为什么我需要这样做,以便网站不会崩溃

我已经成功地尝试了iframe,但是我需要能够修改div的内部html,所以iframe并不理想


感谢您阅读。

iFrame是唯一一个100%防弹的容器,用于将内容与周围页面隔离。

iFrame是唯一一个100%防弹的容器,用于将内容与周围页面隔离。

如果您在将损坏的标记附加到“bullet-proof”分区之前可以访问该功能在附加标记之前“修复”标记的步骤

function cleanMarkup(markupStr) {
    // temp 'div' only used as a container, it is not returned with output
    var temp = document.createElement("div");
    temp.innerHTML = markupStr;
    return temp.innerHTML;
}
大多数浏览器都会尝试修复损坏的标记,因此在设置
innerHTML
属性后立即检索该属性时,该值将是一个“固定”标记字符串

所以考虑到这个输入

cleanMarkup("<div></div> <div id='unclosed'>test!")
cleanMarkup(“测试!”)
函数应该返回

<div></div> <div id="unclosed">test!</div> 
测试!

如果在将损坏的标记附加到“防弹”div之前,您可以使用此函数在附加标记之前“修复”该标记

function cleanMarkup(markupStr) {
    // temp 'div' only used as a container, it is not returned with output
    var temp = document.createElement("div");
    temp.innerHTML = markupStr;
    return temp.innerHTML;
}
大多数浏览器都会尝试修复损坏的标记,因此在设置
innerHTML
属性后立即检索该属性时,该值将是一个“固定”标记字符串

所以考虑到这个输入

cleanMarkup("<div></div> <div id='unclosed'>test!")
cleanMarkup(“测试!”)
函数应该返回

<div></div> <div id="unclosed">test!</div> 
测试!

您可以使用除“div”之外的另一个标记?这是一个非常奇怪的用例。您需要能够修改html,但您承认html可能不好?你能控制传入的HTML吗?你想解决的问题到底是什么?这可能对解决方案有更大的帮助。@Thatidotguy我编辑了这篇文章来回答您的问题“防弹”?好的,这个怎么样。获取传入的信息,使用纠错(即标记汤感知)解析器对其进行解析,序列化生成的DOM树。完成。请注意,在您的特定示例中,最底部的div将位于第一个div中。您可以使用除“div”之外的另一个标记?这是一个非常奇怪的用例。您需要能够修改html,但您承认html可能不好?你能控制传入的HTML吗?你想解决的问题到底是什么?这可能对解决方案有更大的帮助。@Thatidotguy我编辑了这篇文章来回答您的问题“防弹”?好的,这个怎么样。获取传入的信息,使用纠错(即标记汤感知)解析器对其进行解析,序列化生成的DOM树。完成。请注意,在您的特定示例中,最底部的div最终将位于第一个div内。+1相当标准的方法。jQuery在内部这样做是为了保持用户提交的标记干净。+1相当标准的方法。jQuery在内部这样做是为了保持用户提交的标记干净。