今天在用setInterval的时候 发现一个小问题 是当setInterval 调用的函数中执行了document.write()的时候
这个函数只能被调用一次 但是chrome是没问题 只有ie会出现这个情况
var i = 0;
function aa(){
i++;
document.write(i);
}
setInterval("aa()", 42);
但是调用的函数中如果没有document.write就不会出现这个问题 var i = 0;
function aa(){
i++;
alert(i);
}
setInterval("aa()", 42);
也就是说这个问题的根本是在document.write这里 而不是函数setInterval的问题
后来经过查找发现确实是document.write的问题
因为document.write()会产生一个新的文档,并在新的文档中写入内容.而新的文档中没有setInterval()脚本了。
<body>
document.write()会产生一个新的文档,并在新的文档中写入内容.而新的文档中没有setInterval()脚本了。
</body>
<script>
var i = 0;
function aa(){
i++;
document.write(i);
}
setInterval("aa()", 42);
</script>
但是在chrome浏览器中执行是正常的 并且chrome浏览器中也产生了一个新的文档 我想应该是chrome浏览器产生新的文档时将原文档的一些脚本也会加载进来吧
这里没有做研究 忘有知道的能解答一些