Internet Explorer 无法打开 Internet 站点

前不久遇到的问题,收到反馈说我负责的 portal 可能出现“Internet Explorer 无法打开 Internet 站点 http://.com. 操作已中止”的提示。查了下是因为 js 操作浏览器还没有渲染完的 html 标签,就对该标签进行 appendChild 或者修改 innerHTML 的操作。 其实之前在访问 Google 的时候也有出现过类似情况,不过很少,一直以为是浏览器问题呢。

出现此问题的原因子容器 HTML 元素包含试图修改子容器的父容器元素的脚本。 脚本试图使用 innerHTML 方法或 appendChild 方法修改父容器元素。

是例如如果 DIV 元素是在 BODY 元素中的子容器,并在 DIV 元素中的一个 SCRIPT 块尝试修改 DIV 元素的父容器的 BODY 元素,可能会出现此问题。

解决方法

要变通解决此问题,请只修改的块关闭容器,或者,修改仅脚本的立即的容器元素编写脚本。 为此,使用一个占位符,可以关闭目标容器,或可以将脚本块移动到您要修改的容器。

本例中, DIV 元素是一个子容器元素。 SCRIPT 块在 DIV 元素内的尝试修改 BODY 元素。 BODY 元素是关闭的父容器的 DIV 元素。

 

可以通过 修改父元素、修改一个已关闭的容器元素等方式解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值