2017-05-22 12 views
0

safari window.autoRefreshではトリガーされません。これを動作させるにはどうすればいいですか?そして、私はwindow.autoRefreshの例と同じもののドキュメントを入手しました。サファリの "window.autoRefresh"の代替手段は何ですか?

このコードは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はありませんがautofreshes。必要に応じてカスタムプロパティとして設定することができます。数ミリ秒後に複数回リフレッシュする場合は、setTimeoutの代わりにsetIntervalを使用してください。

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>

関連する問題