Internet explorer 8 在IE8中,setInterval方法不起作用
当我在IE8中尝试setInterval方法时,它不是wokringInternet explorer 8 在IE8中,setInterval方法不起作用,internet-explorer-8,setinterval,intervals,Internet Explorer 8,Setinterval,Intervals,当我在IE8中尝试setInterval方法时,它不是wokring <body> <script type="text/javascript"> function msg() { alert("hello world "); document.writeln("hello world <br>"); } //setInterval("msg();", 3000);
<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>
函数msg()
{
警报(“你好世界”);
document.writeln(“你好,世界
”);
}
//setInterval(“msg();”,3000);
//设置间隔(msg(),3000);
//设置间隔(msg,3000);
setInterval(函数(){msg()},3000);
当谷歌搜索时,我得到了几个答案
但是当我在ie8上尝试这些东西时,它不起作用
setInterval
在您的代码中运行良好。问题在于你在用它做什么。执行document.writeln
将清除包含JavaScript的文档。要查看此操作,只需在正文中的某个位置添加foo
,即可看到它在执行document.writeln
后消失。删除document.writeln
行,您将看到警报像预期的那样反复出现
我相信JavaScript将继续在WebKit浏览器中运行,即使它已经被淘汰,但不会在Internet Explorer、Firefox和Opera等非WebKit浏览器中运行。看看关于如何做的一些想法。——上面的代码在chrome和mz上运行良好,这是ie8唯一的问题。所有其他浏览器将在3秒钟后收到警报。但在ie8中,它只执行一次。关于writeln将在新行显示内容。()Chrome是一款WebKit浏览器,所以我并不感到惊讶,它的工作原理与你所期望的一样。然而,我只是在Firefox 17.0.1和Opera 12.11(都在Mac OS 10.7.5上)中测试了小提琴,在这两种浏览器中,它只显示了一次警报。你读了吗?最后,我认为W3Schools不是一个好的资源。谷歌到处寻找原因。我建议你试试。