2009-07-08 6 views
3

JavaScriptを使用していくつかのGETパラメータをバックグラウンドに組み込むために、新しいGETパラメータを使用してページを更新するように、定期的にURLを変更する必要があるページがあります。フォーカスを奪うウィンドウなしでIEでウィンドウを "リフレッシュ"するには?

ので、例えば、私が定期的にやる

window.location.href = window.location.host + '?' + ss; 

または

'SS' は、新しいクエリ文字列、例えばある
window.location.search = '?' + ss; 

: "FOO = 3 &バー= 1" 。これらの「リフレッシュ」は、ウィンドウがバックグラウンドにあるときに発生します。

私の問題は、IEのブラウザでは、リフレッシュによってウィンドウがフォーカスを奪うということです。これを回避するか回避するためにとにかくありますか?

+0

どのバージョンのIEですか? window.location.hashを変更し、AJAXを使用してページを更新できますか? – EricLaw

+0

実際には、新しいGETパラメータでページをリロードする必要があります。私はIE 6&7でこの動作を見ましたが、8はテストしませんでした。 – Kyle

答えて

0

ページ全体をリフレッシュする必要がありますか?私はあなたがコンテンツをIFRAMEDした場合、それは焦点を奪うことはないと思います。私は意図的にバックグラウンドウィンドウでこれを試したことはありませんが、私はそれがIEには好奇心を感じます。私はそれを複製したいので、どのバージョンがこれをやっているのですか?

+0

IE 6&7ではこの動作を見ましたが、テストしていません。8 onload後に呼び出されるJSの1行で簡単に複製できます。次のようなものがあります:setTimeout(function(){window.location.replace( 'http://google.com')}、5000); IE上で "replace"を呼び出すと、ウィンドウがフォーカスを奪う。野生。 – Kyle

+0

明らかに 'google.com'の前にhttpを付けるべきです...(私のコメントはSOによって消されました) – Kyle

2

おそらく、フレームをリロードするのではなく、新しいデータを取得するためにAJAX呼び出しを使用する価値がありますか?

2

私は確かにAjaxを使用します。 このようにコンテンツをリフレッシュすることは、特に非同期的な方法により、ユーザーエクスペリエンスが向上します。 また、URLにパラメータを使用しないことは、サイトが良好なSERP結果を得ることを目的としている場合は常に良い方法です。

関連する問題