Iframe 当if条件中包含警报时,setInterval工作,否则它只工作一次

Iframe 当if条件中包含警报时,setInterval工作,否则它只工作一次,iframe,setinterval,javascript,Iframe,Setinterval,Javascript,这个问题可能与之前提出的问题类似,但事实并非如此 我的问题如下: 我有如下代码片段: var i = 0; function func2() { if (i==0){ document.getElementById('frame1').contentWindow.opts[selected].setAttribute('name','channels'); var strValue = d

这个问题可能与之前提出的问题类似,但事实并非如此

我的问题如下: 我有如下代码片段:

    var i = 0;              

    function func2() {                  
    if (i==0){

    document.getElementById('frame1').contentWindow.opts[selected].setAttribute('name','channels');
    var strValue = document.getElementById('frame1').contentWindow.opts[selected].getAttribute('name');
   //alert("Attribute value set :" + strValue);
   document.getElementById('frame1').contentWindow.handleKeyCode(VK_ENTER);
   i++;

   }
   else if(i==1){

   // For Channels section -- "Get current channel details"
   document.getElementById('frame1').contentWindow.opts[selected].setAttribute('name','get');
   var strValue = document.getElementById('frame1').contentWindow.opts[selected].getAttribute('name');
   //alert("Attribute value set :" + strValue);
   document.getElementById('frame1').contentWindow.handleKeyCode(VK_ENTER);
   i++;

   }
   else if(i==2){

   // For Channels section -- "Set current channel details"
   document.getElementById('frame1').contentWindow.opts[selected].setAttribute('name','set');
   document.getElementById('frame1').contentWindow.menuSelect(1);
   var strValue = document.getElementById('frame1').contentWindow.opts[selected].getAttribute('name');
   //alert("Attribute value set :" + strValue);
   document.getElementById('frame1').contentWindow.handleKeyCode(VK_ENTER);     
   i++;

   }
   }

   $(function() {
      setInterval(function(){func2();}, 1000);
   });
在这种情况下,setInterval只工作一次,即它只执行第一个if条件。但是,当我启用所有条件的“警报”消息时,setInterval工作正常

我不想看到这个setInterval if条件的“警报消息”,它应该按照条件和给定的时间间隔执行每个if elseif station

我有能力做到这一点。此外,我也没有从本论坛的setInterval相关问题中找到任何令人满意的参考资料。请帮忙


谢谢。

我相信您在
func2
中遇到了一个异常,这使它看起来好像没有多次运行。Reading.contenWindow为空时。尝试使用Try/catch捕获异常。或者使用调试器。

请不要在你的问题中大量使用粗体字。这很烦人。为什么你要用jQuery标记这个问题,这是纯Javascript,为什么不试试jQuery?这只是jQuery,上面的代码片段在$(document.ready)里面(function(){var$frame=$('#frame1');$frame.ready(function(){------------});only.haha,它是通过jquery调用的,但是实际函数中没有jquery。嗨,谢谢你宝贵的回复。事实上,当我在每个if条件中添加警报消息时,上面的代码段工作得很好。正如你所看到的,我目前已经发表了评论,如果我取消对这些警报消息的注释,那么它工作得很好。但是我不希望警报消息被删除显示,但仍然可以正常工作。