0

当我在 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>

当谷歌我得到了几个答案

window.setInterval jQuery 函数在 IE8 上不起作用 setinterval 方法不起作用

http://social.msdn.microsoft.com/Forums/nl-NL/netfxjscript/thread/ff7447f0-3c18-484b-a037-eaf9f60574a8 但是当我在ie8上尝试这些东西时它不起作用

4

1 回答 1

1

setInterval在您的代码中运行良好。问题在于你正在用它做什么。执行document.writeln正在清除您的文档,其中包括您的 JavaScript。要查看它的实际效果,只需<p>foo</p>在主体中添加某个位置,您就会看到它在document.writeln执行后消失。删除该document.writeln行,您会看到alert如预期的那样一遍又一遍地发生。

我相信 JavaScript 将继续在 WebKit 浏览器中运行,即使它已被淘汰,但不会在 Internet Explorer、Firefox 和 Opera 等非 WebKit 浏览器中运行。看看这个问题,了解如何做的一些想法。

于 2013-01-04T03:33:43.053 回答