Chinaunix首页 | 论坛 | 博客
  • 博客访问: 691223
  • 博文数量: 214
  • 博客积分: 5015
  • 博客等级: 大校
  • 技术积分: 2285
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-18 17:02
文章分类

全部博文(214)

文章存档

2008年(43)

2007年(171)

我的朋友

分类:

2007-08-08 14:39:45

document.body.appendChild() 会导致站点无法正常加载。

出现提示:Internet Explorer无法打开Internet站点 ×××?? 已终止操作。



通常这种问题只在IE中出现。而在firefox中却不会,因为Firefox的body在body标签没有被浏览器完全读入之前就存在;而IE的body则必须在body标签被浏览器完全读入之后才存在.

解决办法:

1、在一个已加载的对象上调用appendChild(),来创建对象。

2、页面加载完毕后,再执行document.body.appendChild()动作,可以把它放到 后面。

3、用window.setTimeout(),来延时对document.body.appendChild()的调用。

我们重点来讨论第二种解决办法。
要让页面加载完后,在执行动作,可以在用js绑定document.body.onload方法,但是在firefox下document.body.onload是undefined,因此在firefox下是可以用window.onload来代替

<script type="text/javascript">
function init(arg){
        //do sth.
}
if(typeof(document.body.onload)=="undefined")
        window.onload=goto_page(arg);
else
        document.body.onload=new Function('goto_page(arg);');
</script>

阅读(1962) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~