-1

コードを置くと、現在のページがChromeのコンソールに読み込まれます。クロムコンソールにリロードした後にループを維持する方法は?

例えば..

(function myLoop (i) {   
    setTimeout(function() { 
     console.log(i); 
     if (--i) myLoop(i);  
    }, 3000) 
})(10); 

上記のコードの実行後、ループが一度だけ再ロードコンソールを実行します。

どうすればいいですか?

+0

この答えをチェックしてください:http://stackoverflow.com/questions/26380086/how-browser-execute-javascript-render-asynchronous/26381899#26381899 – KooiInc

+1

正確にあなたが何をしています達成しようとしている? localStorageのようなトリックを行う必要があります – mylee

答えて

0

まず、なぜこれをやりたいのですか? ウェブページをリロードするのはとても奇妙なのですが、なぜですか? それはインターネットの速度の目的のために使用されている場合は、私が好む:

cmd.exe /C ping (target) /t 00 /n 65000 

しかし、あなたはそれのためにループ文を使用しようとすることができます。私はC#に慣れていないので、インターネットで検索しました。

  int number = 0; 

     while(number < 5) 
     { 
      // yourcode 
      number = number + 1; 
     } 
2

提供した機能は、3秒間隔で10から1までカウントダウンします。 Chrome Consoleで直接実行していて、途中でページを更新すると、読み込んだ現在のページのコンテキストでこの関数が実行されているため、もちろんそのページは強制終了されます。

コードがページ内(コンソールではなく)で実行されているときにリロードの間にループを維持する場合は、コードを実行しているときに変数の状態を維持できます。ローカルストレージまたはクッキーに保存されます。ページが読み込まれたら、既定値の代わりに格納された値を使用します。

例:

window.onload = function() { 
    var count = localStorage.getItem('count'); 
    if (count == null) count = 10; 

    (function myLoop(i) { 
     setTimeout(function() { 
      localStorage.setItem('count', (i-1)); 
      console.log(i); 
      if (--i) { 
       myLoop(i); 
      } else { 
       localStorage.removeItem('count'); 
      } 
     }, 3000) 
    })(count); 
} 
関連する問題