【发布时间】:2011-07-17 17:02:48
【问题描述】:
我正在尝试解析一些 HTML 以在其中查找图像。
例如,我创建了一个动态的div 并像这样解析标签:
var tmpDiv = document.createElement("DIV");
tmpDiv.innerHTML = html;
HTML 应该是无脚本的,但也有例外,一个代码段在图像标签下具有以下代码:
<img src=\"path" onload=\"NcodeImageResizer.createOn(this);\" />
通过创建一个临时的div,“onload”函数调用了自身并产生了一个 JavaScript 错误。
有没有办法告诉浏览器在构建 HTML 元素时忽略 JavaScript 代码?
编辑:
我忘了提到,稍后我想在我的文档中的div 中显示这个 HTML,所以我正在寻找一种忽略脚本而不使用字符串操作的方法。
谢谢!
【问题讨论】:
-
如果onload还是一样,可以使用
tmpDiv.innerHtml = html.replace('onload="NcodeImageResizer.createOn(this);',"") -
这将解决这个特定情况,但我正在寻找一个涵盖所有其他情况的通用解决方案。
-
其他情况是什么?所有的加载处理程序?什么?
-
所有其他从 HTML 隐式调用的脚本(不是 java script 标签内的脚本)
标签: javascript jquery html security