有一个功能animateTitle()
可每3秒定期更改浏览器标题。
var animateTitle = function(countMessages) {
if (isChatTab) {
if (animStep) {
document.title = "New messages ("+countMessages+") - "+origTitle;
} else {
document.title = origTitle;
}
animStep = !animStep;
} else {
document.title = origTitle;
animStep = false;
}
time_title = setInterval(function(){ animateTitle(countMessages) }, 3000);
};
在我的脚本中,参数
countMessages
是实时更改的,并传递给函数animateTitle
,因此这会导致缓冲区溢出,因为该函数是递归的。怎么修? 最佳答案
当前,由于您不清除现有间隔,因此每个函数调用都将创建新间隔。您应该将间隔移到函数之外:
var animateTitle = function(countMessages) {
if (isChatTab) {
if (animStep) {
document.title = "New messages ("+countMessages+") - "+origTitle;
} else {
document.title = origTitle;
}
animStep = !animStep;
} else {
document.title = origTitle;
animStep = false;
}
};
time_title = setInterval(function(){ animateTitle(countMessages) }, 3000);