现在的位置: 首页 > 综合 > 正文

js srtInterval 调用函数中document.write的问题

2013年10月14日 ⁄ 综合 ⁄ 共 664字 ⁄ 字号 评论关闭

今天在用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浏览器产生新的文档时将原文档的一些脚本也会加载进来吧

这里没有做研究  忘有知道的能解答一些  

抱歉!评论已关闭.