Я написал простой код/userscript уведомить меня об изменениях на Webiste:Подсчет неизвестен/динамическая длина массива класса элемента
function notifier(){
setTimeout(function() {
location.reload(true);
},60000)
}
function notiCounter() {
console.log("Counting notifications");
var noti = document.getElementsByClassName("notification");
for(var i = 0; i < 2; i++) {
if(noti[i].innerHTML != undefined) {
console.log(noti[i].innerHTML);
notifications++;
console.log("Notifications: " + notifications);
}
}
}
function notification(){
setTimeout(function() {
notiCounter();
if(notifications > 0){
document.title = "(" + notifications + ") new notifcations";
sound.play();
}
notifier();
},50)
}
notification();
Проблема заключается в том, что фактическое конечное число noti[i]
неизвестна/динамический и изменяется все время, поэтому, если i < 2
заменяется на большее число, цикл for заканчивается в бесконечном цикле - и если я его выберу слишком низко (например, 2), данные будут потеряны, если фактическое число превысит 2.
Есть идеи по поводу этой проблемы? Может быть, это действительно очевидно, и я не вижу, так как это действительно поздний ха-ха.
Ой, я не думал, что это сработает так просто, но это так. Спасибо, тонны! – xqz313