Ich versuche, meine Klasse aufrufen, wie die Seite lädt, sowie neu die Ergebnisse immer X Sekunden, aber folgende setTimeout-Tutorials, scheint Jquery mich zu werfen Ein Fehler, den ich nicht verstehe, wenn man von Syntaxlosigkeit spricht.setTimeout und jQuery: Uncaught RangeError: Maximale Call-Stack-Größe überschritten
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);
}
Dies ist kein Duplikat. Das Problem ist hier ein ungültiger Aufruf von 'lhc()', was eigentlich ein einfacher Syntaxfehler ist. Es verursacht die gleiche Nachricht, aber der Ursprung ist ziemlich spezifisch. – Dariusz