setInterval работает, когда предупреждение включено в условия if, иначе оно работает только один раз - PullRequest
0 голосов
/ 19 апреля 2011

может показаться, что этот вопрос похож на ранее заданный вопрос, но это не так.

Мой вопрос следующий: у меня есть фрагмент кода следующим образом:

    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 работает нормально.

Я не хочу, чтобы "Alert Messages" для этого setInterval выполнял условия, он должен выполняться каждый if ifif если согласно условию и в данный интервал времени.

Я могу достичь этого.Также я не нашел удовлетворительной ссылки на вопросы, связанные с setInterval в этом форуме.Пожалуйста, помогите.

Спасибо.

1 Ответ

1 голос
/ 19 апреля 2011

Я полагаю, что вы получаете исключение внутри func2, из-за которого создается впечатление, что оно работает не более одного разаЧтение .contenWindow, когда оно пустое.Попробуйте использовать try / catch, чтобы поймать исключение.Или используйте отладчик.

...