アンカー付URLを自動更新する方法を教えて下さい。


http://hoge.com/fuga.html#piyo」のようなアンカー付URLのページを定期的に自動更新(30秒毎など)させたいと思っています。

metaタグのrefreshで更新させると、IEではアンカーが無視されてしまいます。(リロード後は「http://hoge.com/fuga.html」が表示される。)

IEでも有効な(もちろん、他のブラウザも)自動更新の方法を教えて下さい。
どうぞよろしくお願い致します。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2012/07/29 14:23:31
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Cherenkov No.1

回答回数1504ベストアンサー獲得回数493

ポイント200pt
<script type="text/javascript">
setTimeout(function() {
  location.reload()
}, 2000);
</script>
他4件のコメントを見る
id:Cherenkov

スクロール位置で確認していたのですね。
回答1の方法でURLは#bbbが残っていますよね?

確かにIE7~9では正しい位置にスクロールされませんでした。

<script type="text/javascript">
var tmp = location.hash;
location.hash = '';
location.hash = tmp;
setTimeout(function() {
  location.reload()
}, 2000);
</script>

これを試してみてください。こちらではうまくいきました。
参考:SafariとChromeでページ内ジャンプが上手いこと行かない - POCH-7003 BEATout!

2012/07/29 13:40:22
id:dy7

Cherenkovさま、ありがとうございます。

上記の方法で希望通りの動作を得ることができました!
本当にありがとうございました。

ちなみに、上記のコードをそのまま用いると、アンカーなしでアクセスした場合にも自動的にURLに「#」が追加されてので、下記のように一部修正して使用しました。

<script type="text/javascript">
var tmp = location.hash;
if( tmp != '' ){
  location.hash = '';
  location.hash = tmp;
}
setTimeout(function() {
  location.reload()
}, 2000);
</script>
2012/07/29 14:23:05

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません