首页 新闻 搜索 专区 学院

ie出错问题

0
[已解决问题] 解决于 2008-08-26 00:40
<P>这段代码在ie下运行会无法打开 <BR>但如果脚本不包在div里面就没问题 <BR>为什么?怎么解决?</P> <P><SPAN style="COLOR: #0000ff">&lt;!</SPAN><SPAN style="COLOR: #ff00ff">DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">html</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">body</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">div</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">script </SPAN><SPAN style="COLOR: #ff0000">type</SPAN><SPAN style="COLOR: #0000ff">="text/javascript"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"><BR>document.body.appendChild(document.createElement(</SPAN><SPAN style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">div</SPAN><SPAN style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">));<BR></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">script</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">div</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">body</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">html</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></P>
cloudgamer的主页 cloudgamer | 菜鸟二级 | 园豆:280
提问于:2008-08-25 01:31
< >
分享
最佳答案
0
因为当浏览器解析到这段脚本时会立即执行,而这时候<body>只加载了一半儿,所以会出现严重错误,如果你把这段脚本放到<body>之前就会发现提示document.body不是对象或为空,放到</body>之后就不会有问题了 一般这种问题,为了防止出现类似错误,需要即时执行的DOM操作脚本都会在页面执行完再一并执行,使用: <script type="text/javascript"> window.onload=new function(){ document.body.appendChild(document.createElement("div")); } </script> 这样就无所谓放到什么地方了,不过还是建议放到页面最后,这是一种习惯,大部分时候会提升页面的性能(JS放页面靠后的位置,CSS放在页面靠前的位置)
丁学 | 专家六级 |园豆:18530 | 2008-08-25 08:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册