>웹 프론트엔드 >HTML 튜토리얼 >IE6 Script defer 的奇怪表现_html/css_WEB-ITnose

IE6 Script defer 的奇怪表现_html/css_WEB-ITnose

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-21 09:33:25902검색

when load the following html file in IE6, the result is "

javascript code 2

". It's strange.
If load in opera, chrome, firefox, It's OK.
 
Anyone knows why?
 
___________________________________________________________________
 
 





 para a 


<script> <br /> document.write('<p>'); <br /> document.write('javascript code 1'); <br /> document.write(''); <br /> </script>

 para b 


<script> <br /> document.write('<p>'); <br /> document.write('javascript code 2'); <br /> document.write(''); <br /> </script>

 para c 


<script> <br /> document.write('<p>'); <br /> document.write('javascript code 3'); <br /> document.write(''); <br /> </script>


回复讨论(解决方案)

有什么奇怪的,defer只有ie支持
相当于window.onload
当页面加载完毕后,执行那段代码。document.write会打开一个新文档,把前一次的文档给清空了


因为其它浏览器不认得defer所以显示正常了

defer是微软公司自己的属性,其他浏览器忽略了,这个属性的功能是延迟脚本的加载,其他浏览器相对应的属性async:带有async或者defer的script都会立刻下载并不阻塞页面解析,而且都提供一个可选的onload事件处理, 在script下载完成后调用,用于做一些和此script相关的初始化工作.它们的不同之处在于script执行的 时机.带有async的script,一旦下载完成就开始执行(当然是在window的onload之前).这意味着这些script 可能不会按它们出现在页面中的顺序来执行,如果你的脚本互相依赖并和执行顺序相关,就有很大的可能出问题, 例如变量或者函数未定义之类的错误. 而对于带有defer的script,它们会确保按在页面中出现的顺序来执行,它们执行的时机是在页面解析完后,但在 DOMContentLoaded事件之前

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.