<script language="Javascript">
function PollConn(){
TimeCounter=window.setTimeout('PollConn();',5000);
function StopPoll(){
window.clearTimeout(TimeCounter)
}
PollConn();
</script>
上面的方法一般是比較通用的方法。不停的每隔5秒鐘調(diào)用一下自己。在一般的運(yùn)用中,用戶(hù)訪問(wèn)含有這樣代碼的頁(yè)是沒(méi)感覺(jué)出它有什么問(wèn)題。但是如果用戶(hù)在這樣的頁(yè)里需要停留的時(shí)間很長(zhǎng),就會(huì)用問(wèn)題。因?yàn)閟etTimeout會(huì)不停的“吐食”CPU,慢慢的CPU最終會(huì)被這樣的代碼吃光,造成IE死掉,或停止執(zhí)行。
解決的辦法,在下次調(diào)用之前先用clearTimeout清除一下。
復(fù)制代碼 代碼如下:
<script language="Javascript">
function PollConn(){
if(TimeCounter) window.clearTimeout(TimeCounter) //清除上次的setTimeout
TimeCounter=window.setTimeout('PollConn();',5000);
function StopPoll(){
window.clearTimeout(TimeCounter)
}
PollConn();
</script>
JavaScript技術(shù):setTimeout 不斷吐食CPU的問(wèn)題分析,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。