当我在IE8中尝试使用setInterval方法时,它没有意识到
<body>
<script type="text/javascript">
function msg()
{
alert("hello world ");
document.writeln("hello world <br>");
}
//setInterval("msg();", 3000);
//setInterval(msg(), 3000);
//setInterval(msg, 3000);
setInterval(function(){msg()}, 3000);
</script>
</body>
当google我得到了几个答案时
window.setInterval jQuery function does not work on IE8 setinterval method not working
http://social.msdn.microsoft.com/Forums/nl-NL/netfxjscript/thread/ff7447f0-3c18-484b-a037-eaf9f60574a8 但是当我在ie8上尝试那些不起作用的东西时
答案 0 :(得分:1)
setInterval
在您的代码中正常运行。问题在于你正在做什么。执行document.writeln
会清除您的文档,其中包括您的JavaScript。要查看此操作,只需在正文中的某处添加<p>foo</p>
即可在document.writeln
执行后看到它消失。移除document.writeln
行,您会看到alert
一遍又一遍地发生,正如预期的那样。
我相信JavaScript将继续在WebKit浏览器中运行,即使它已被删除,但不会在非WebKit浏览器中运行,如Internet Explorer,Firefox和Opera。看看this question有关如何做的一些想法。