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();
我试图把一个脚本在上面继续检查,如果一个特定元素是在浏览器加载成功,它的工作原理(登录“发现”控制台),但我当我写另一个控制台日志,看看间隔是否仍在运行。它确实,它永不停止,clearInterval
完全被忽略clearInterval不clearInterval
有什么我错过了?我也试过使用所有其他解决方案,包括settimeout和现在最接近的一个是我写的,我只是希望clearinterval在条件返回true后生效
有没有什么类似于clearinterval更有效,杀死整个功能还是什么?
线是否被击中?在'document.getElementsByTagName ...'行可能有错误。 – 2013-04-08 11:27:16
@JamesMcLaughlin这条线正常工作,除了清除间隔之外,一切都正常工作并正常工作 – Osa 2013-04-08 11:28:27
不是说这有什么区别,但为什么你有两个'timer'变量? – 2013-04-08 11:29:29