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事件之前
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn