2012-02-21 56 views
0

我使用下面的代码每隔60秒自动在我的网站顶部重新加载一个小框架,但每次重新加载时,它都会冻结(无法点击任何东西)10次-20秒,有时甚至一直持续到手动刷新页面。有没有办法阻止这种情况发生?Jquery自动重新加载冻结网站几秒钟

$(function() { 
$('#stats').load('statsto.php'); 

    var visibleInterval = 60000; 
    var invisibleInterval = 60000; 

    $(function() { 
     setTimer(); 
     $(document).bind('visibilitychange'), function() { 
      clearTimeout(timer); 
      setTimer();  
     }; 
    }); 

    function displayStats() { 
     $('#stats').load('statsto.php'); 
     $.ajaxSetup({ cache: false }); 
    } 

    function setTimer() { 
     timer = setInterval(displayStats, (document.hidden) ? invisibleInterval : visibleInterval); 
    } 

}); 
+0

您在那里有语法错误。这是真实的代码吗? – Ryan 2012-02-21 02:39:51

+0

你是什么意思冻结?鼠标停止移动?不能点击任何东西? – Henesnarfel 2012-02-21 02:40:15

+0

通过冻结我的意思是我不能点击任何东西 – Andy 2012-02-21 02:42:24

回答

1

更可能是您的ajax请求有async: false。尝试将其更改为true以允许在完成其他任务时执行ajax。

+0

异步设置为'异步:true' – Andy 2012-02-21 02:51:06

+0

所以这不是问题 – Andy 2012-02-21 03:01:39

+0

@Andy是否可以访问该页面或显示正在发生什么的示例。很难调试 – Henesnarfel 2012-02-21 12:54:32