本人做了个网站!
此网站有个别页面在IE7和IE8运行正常。
但在IE6下运行报错。
提示:Internet Explorer无法打开站点。已终止操作!
请问下各位应该如何解决。谢谢!
[img]http://dl.iteye.com/upload/attachment/146857/b6d1e8a3-1587-37f8-8096-b6668fa0521e.bmp[/img]
本人做了个网站!
此网站有个别页面在IE7和IE8运行正常。
但在IE6下运行报错。
提示:Internet Explorer无法打开站点。已终止操作!
请问下各位应该如何解决。谢谢!
[img]http://dl.iteye.com/upload/attachment/146857/b6d1e8a3-1587-37f8-8096-b6668fa0521e.bmp[/img]
[color=red]转[/color]
Internet Explorer无法打开站点,已终止操作
在页面还没有ready的时候就调用了htmlObject的appendChild或者innerHTML操作,这样会在IE上弹出一个对话框:“Internet Explorer无法打开站点,已终止操作”
在网上搜索了一下,解决方法大概为以下两点:
(1)在appendChild或者innerHTML操作处判断 document.readyState=="complete", 若为否,则setTimeout若干秒之后重新作这个操作。但是,此属性只对ie,opeara有效,firefox的document没有 readyState属性,永远是undefined。
(2)在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。并且,在有defer标签的代码块里不能写 document.write方法。以下为要注意的问题:
1.使用了defer="true"属性的script标签应该放在
< /head>之间。如果放在Body之间可能会得不到预期的效果(我试过如果把script放body里,在页面加载的第一次不会起defer的作用,但之后的刷新defer却起作用)。2.使用了defer="true"属性的script标签里面包含的脚本在运行的过程中,不能使用 document.write()方法向页面输出内容。因为设置了defer="true"的脚本是页面加载之后才加载并渲染的.如果这时候使用 document.write()方法,会把之前的页面内容都清掉(当然,如果有这个需要的情况除外)。