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