最近在寫setTimeout時,用ajax方式去呼叫,發現怎麼倒數越來越快,原來AJAX在呼叫時,也會把它給重制,就變得倒數越來越快,解決方式,網上有類似的解決方式,以下為轉貼:
有時候我們在使用setTimeout的時候會導致IE特別佔用cpu,有可能會導致死機等情況。
<script language="javascript">
function PollConn(){
TimeCounter=window.setTimeout('PollConn();',5000);
function StopPoll(){
window.clearTimeout(TimeCounter)
}
PollConn();
</script>
上面的方法一般是比較通用的方法。不停的每隔5秒鐘調用一下自己。在一般的運用中,用戶訪問含有這樣代碼的頁是沒感覺出它有什麼問題。但是如果用戶在這樣的頁裡需要停留的時間很長,就會用問題。因為setTimeout會不停的“吐食”CPU,慢慢的CPU最終會被這樣的代碼吃光,造成IE死掉,或停止執行。
解決的辦法,在下次調用之前先用clearTimeout清除一下。
<script language="javascript">
function PollConn(){
if(TimeCounter) window.clearTimeout(TimeCounter) //清除上次的setTimeout
TimeCounter=window.setTimeout('PollConn();',5000);
function StopPoll(){
window.clearTimeout(TimeCounter)
}
PollConn();
</script>
- 2012-04-25 10:33 - 關於超連結a的另外一種OnClick的寫法
- 2012-03-28 18:00 - javascript中IE瀏覽器不支持NEW DATE()帶參數的解決方法
- 2012-03-26 10:48 - JavaScript的取日期的問題
- 2012-01-06 11:25 - [轉]javascript的 var x = y = 0; 和 var x = 0; var y = 0;的差別
- 2010-04-15 18:01 - Google的JavaScrip 的壓縮
- 2009-07-20 09:27 - [轉]]JavaScript 壓縮 與 除錯版本維護













