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