var timer;
function check_element_load(){
timer = window.setInterval(function(){
console.log("still working"); // keeps running forever
if(document.getElementById("comments")){
console.log("FOUND"); // this actually runs
document.getElementsByTagName("fb:comments")[0].setAttribute('order_by', 'social');
window.clearInterval(timer); // < not effective
}
}, 50);
}
check_element_load();
Я пытаюсь поставить скрипт сверху, чтобы проверить, если конкретный элемент был успешно загружен в браузер, он работает (консоль вошли «FOUND»), но я когда я написал другой консольный журнал, чтобы узнать, все ли работает интервал. он никогда не останавливается, и clearInterval
полностью игнорируетсяclearInterval не clearInterval
Есть ли что-нибудь, что я пропустил? Я также пробовал использовать все другие решения, в том числе settimeout, и ближайший для меня сейчас написан, я просто хочу, чтобы clearinterval вступил в силу после того, как условие вернется.
есть что-то похожее на clearinterval, что более эффективно, убивает целая функция или что-то еще?
Ли линия когда-либо попадала? Может возникнуть ошибка в строке 'document.getElementsByTagName ... '. –
@JamesMcLaughlin эта линия отлично работает, все вступает в силу и работает правильно, за исключением clearinterval – Osa
Не то, чтобы это имело какое-то значение, но почему у вас есть две переменные 'timer'? –