我試圖調用我的類作爲頁面加載,以及重新加載結果有史以來X秒,但setTimeout教程,但jquery似乎拋出我考慮到它是無語法的,我不明白這個錯誤。setTimeout和jQuery:未捕獲RangeError:超過最大調用堆棧大小
Uncaught RangeError: Maximum call stack size exceeded
var rand = function() {
return Math.random().toString(36).substr(2);
};
lhc();
function lhc(){
$('#lhcb a').each(function() {
var rawlink = $(this).attr("href");
var link = encodeURIComponent(rawlink);
var token = rand();
var href = $(this).prop('href');
var proceed = $.getJSON("lhc/link.php?link=" + link + "&a=c", function(data) {
if (data.proceed == 'true') {
return true;
} else {
return false;
}
}).error(function(e) { alert("error"); console.log(e);});
if (href.match("^javascript:")) {
proceed = false;
}
if (rawlink.charAt(0) != '#') {
if (proceed) {
$(this).after(" <span style='font-size:xx-small;'>(Hits: <span id='" + token + "'></span>)</span>");
$.getJSON("lhc/link.php?link=" + link + "&a=q", function(data) {
$('#' + token).html(data['hits']);
}).error(function(e) { alert("error"); console.log(e);});
$(this).attr("href", "lhc/link.php?link=" + link + "&a=g");
}
}
});
setTimeout(lhc(), 5000);
}
這不是重複的。這裏的問題是對'lhc()'的無效調用,這實際上是一個簡單的語法錯誤。它導致相同的消息,但起源是非常具體的。 – Dariusz