2017-05-22 45 views
0

在safari window.autoRefresh不會被觸發。如何使這個工作?並且我可以獲得window.autoRefresh的任何示例以及相同的文檔。什麼是safari的「window.autoRefresh」的替代方案?

此代碼autofreshes一個div沒有頁面

if(window.autoRefresh==true)//without this condition, refresh works fine. 
     { 
      if (typeof autoRefreshTimeout == 'undefined'){ 
      autoRefreshTimeout = setTimeout(function(){ 
        clearTimeout(autoRefreshTimeout); 
        autoRefreshTimeout = undefined; 
        dosomething(); 
        } 

       }, 30000); 
      } 

回答

1

沒有物業window.autoRefresh。如果您願意,您可以將其設置爲自定義屬性。如果要在數毫秒後刷新多次,請使用setInterval而不是setTimeout

var autoRefreshTimeout; 
 
var count = 0; 
 
    
 
// function that change div content 
 
function dosomething() { 
 
    document.getElementById('counter').innerHTML = count; 
 
    count++; 
 
} 
 

 
// start timeout/interval 
 
function startRefresh() { 
 
    // check if already refreshing 
 
    if(!window.autoRefresh) { 
 
    // set custom property 
 
    window.autoRefresh = true; 
 

 
    // autoRefreshTimeout = setTimeout(function() { 
 
    autoRefreshTimeout = setInterval(function() { 
 
     console.log('refresh'); 
 
     dosomething(); 
 
    }, 1000); 
 
    } 
 
} 
 

 
// stop timeout/interval 
 
function stopRefresh() { 
 
    if (window.autoRefresh) { 
 
    // set custom property 
 
    window.autoRefresh = false; 
 

 
    // clearTimeout(autoRefreshTimeout); 
 
    clearInterval(autoRefreshTimeout); 
 
    } 
 
}
<button onclick='startRefresh()'>start</button> 
 
<button onclick='stopRefresh()'>stop</button> 
 
<div id="counter"></div>

相關問題