这个问题可能似乎是之前提出的类似问题,但事实并非如此。
我的问题如下: 我的代码片段如下:
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 elseif语句。
我能够实现这一目标。此外,我没有在本论坛的setInterval相关问题中找到任何令人满意的参考。请帮忙。
感谢。
答案 0 :(得分:1)
我相信你在func2
内部遇到异常,这使得它似乎没有多次运行。读取.contenWindow为null。尝试使用try / catch来捕获异常。或者使用调试器。