KB927917解决方法
其实很简单,就是把js代码放到标签之前就可以解决了。 下面是微软给出的解释。http://support.microsoft.com/kb/927917 出现此问题的原因子容器 HTML 元素包含试图修改子容器的父容器元素的脚本。 脚本试图使用 innerHTML 方法或 appendChild 方法修改父容器元素。是例如如果 DIV 元素是在 BODY 元素中的子容器,并在
其实很简单,就是把js代码放到</body>标签之前就可以解决了。
下面是微软给出的解释。
http://support.microsoft.com/kb/927917
出现此问题的原因子容器 HTML 元素包含试图修改子容器的父容器元素的脚本。 脚本试图使用 innerHTML 方法或 appendChild 方法修改父容器元素。
是例如如果 DIV 元素是在 BODY 元素中的子容器,并在 DIV 元素中的一个 SCRIPT 块尝试修改 DIV 元素的父容器的 BODY 元素,可能会出现此问题。
示例 1
<script type="text/javascript"></script> 在本例中, DIV 元素是一个子容器元素。 SCRIPT 块在 DIV 元素内的尝试修改 BODY 元素。 BODY 元素是关闭的父容器的 DIV 元素。
<html>
<body>
<div>
<script type="text/Javascript">
document.body.innerHTML+="sample text";
</script>
</div>
</body>
</html>
要解决此问题,请使用以下方法之一。
方法 1: 修改父元素
<script type="text/javascript"></script> 将 SCRIPT 块移动到 BODY 元素的范围。 这是脚本试图修改的容器。
<html>
<body>
<div>
</div>
<script type="text/Javascript">
document.body.innerHTML+="sample text";
</script>
</body>
</html>
方法 2: 修改一个已关闭的容器元素
<script type="text/javascript"></script> 作为在父容器元素中的占位符中添加一个已关闭的容器。 然后,修改与脚本块新的已关闭的容器。
<html>
<body>
<div id="targetContainer">
</div>
<div>
<script type="text/Javascript">
document.getElementById('targetContainer').innerHTML+="sample text";
</script>
</div>
</body>
</html>
示例 2
<script type="text/javascript">
</script>在此示例,深层嵌套的 TD 容器元素内的一个 SCRIPT 块会尝试通过 appendChild 方法中修改父容器 BODY 元素。
<html>
<body>
<table>
<tr>
<td>
<script type="text/Javascript">
var d = document.createElement('div');
document.body.appendChild(d);
</script>
</td>
</tr>
</table>
</body>
</html>
要解决此问题,请插入 BODY 元素中移动 SCRIPT 块
<html>
<body>
<table>
<tr>
<td>
</td>
</tr>
</table>
<script type="text/Javascript">
var d = document.createElement('div');
document.body.appendChild(d);
</script>
</body>
</html>
更多推荐
所有评论(0)