#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 = 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 в соответствии с условием и с заданным интервалом времени.
Я могу добиться этого. Также я не нашел ни одной удовлетворительной ссылки из вопросов, связанных с setInterval, на этом форуме. Пожалуйста, помогите.
Спасибо.
Комментарии:
1. Пожалуйста , не выделяйте жирным шрифтом огромные куски вашего вопроса. Это раздражает.
2. почему вы помечаете этот вопрос jQuery, это чистый Javascript, почему бы вам не попробовать с jQuery??
3. Это только jquery, приведенный выше фрагмент кода находится внутри $(document). ready(функция(){ var $frame = $(‘#frame1’); $frame.ready(функция () { ————- }); только.
4. ха-ха, ну, это вызывается через jquery, но в самой функции jquery нет
Ответ №1:
Я полагаю, что вы получаете исключение внутри func2
, из-за которого кажется, что оно выполняется не более одного раза. Чтение .contenWindow, когда оно равно null. Попробуйте использовать try / catch для перехвата исключения. Или используйте отладчик.
Комментарии:
1. Привет, спасибо за ваш ценный ответ на самом деле приведенный выше фрагмент отлично работает, когда я добавляю предупреждающие сообщения в каждое условие if. как вы можете видеть, я прокомментировал, что если я раскомментирую эти предупреждающие сообщения, то все будет работать нормально. Но я не хочу, чтобы отображались предупреждающие сообщения, и все равно это должно работать одинаково.