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