JS設定タイマーリフレッシュ画面

1188 ワード

新しいウィンドウにリンクします.この新しいウィンドウで対応する操作を実行した後、新しいウィンドウを閉じて、最初のインターフェースを更新したいです.
上の問題を解決するためのタイマーを設定できます.
var newWin;
var timer;

function subWinClose() {
    if (newWin.closed == true) {
      alert('  ');
        window.clearInterval(timer);
    }
 }

function open_win() {
     newWin = window.open('http://www.111.com');
     timer = window.setInterval("subWinClose()", 500);
}
複数の新しいインターフェースを開くと、その中の一つの新しいインターフェースが閉じられ、最初のインターフェースは常に更新されます.上の原因はグローバル変数の問題で、timerは新しいインターフェースに覆われてしまうので、コードを書き換える必要があります.
function open_win() {
   var newWin = window.open('http://www.111.com');
   var timer = window.setInterval(function(){
   if (newWin.closed == true) {
         alert('  ');
          window.clearInterval(timer);
                }
}, 500);
}
知識ポイント追加:
set Timeoutとset Intervalの違い:setTimeoutとset Intervalの文法は同じです.二つのパラメータがあります.一つは実行するコード文字列です.もう一つはミリ秒単位の時間間隔です.その時間帯が過ぎるとそのコードが実行されます.しかし、この二つの関数には違いがあります.setIntervalは一回のコードを実行した後、その固定された時間間隔を経て、自動的にコードを繰り返し実行します.setTimeoutは一回のコードしか実行しません.
function closeWin(){
alert('  ');
setTimeout('closeWin()',1000);
}