1

jqueryを使用して1秒ごとにURLをリロードしたいのですが、次のコードを試してみてください。このコードはURLを1回だけリロードします。私はどのように行いますか?

<a href="http://myweb.com/" id="thisLink"></a>

setInterval(window.location = $('#thisLink').attr('href'), 1000);

デモ: http://jsfiddle.net/QBMLm/

4

5 に答える 5

1

setIntervalブラウザのリロード間で永続的ではありません。また、最初の引数として関数を取ります。次のようなことを試すことができます:

setTimeout(function() {
    window.location = $('#thisLink').attr('href');
}, 1000);

リダイレクトする前に1秒待機します。リダイレクトするページが同じコードを持つ場合、同じように動作します。

于 2012-10-03T13:19:12.873 に答える
1

それがあなたのページである場合、 head でこれを使用できます:

<meta http-equiv="refresh" content="1;url=/">

もちろん、これは埋め込まれているページでのみ機能し、他の外部サイトをリロードし続けることはありませんか?

于 2012-10-03T13:18:34.927 に答える
0

URLを再ロード(window.location変更)すると、そのコンテキスト(およびスコープ)が無効にsetIntervalなります(ページは破棄され、次のページがロードされます)。その後、スクリプトが再ロードされ、setInterval再割り当てされます。

ああ、構文的にはそのコードは無効です。window.locationおそらく、その部分をfunction(){}でラップしたいと思うでしょう。

setInterval(function(){
  window.location = $('#thisLink').attr('href')
}, 1000);

それ以外の場合は、実際には間隔を置いて実行されていませんが、すぐに実行されます。

于 2012-10-03T13:16:47.330 に答える
0

一度変更window.locationするとページを離れるので、リロードは1回だけです。

新しい名前付きウィンドウでリンクを開くか、子ページをiframeに埋め込む必要があります。

setInterval(function() {
    window.open($('#thisLink').attr('href'), 'mywindow', '');
});​
于 2012-10-03T13:16:57.060 に答える