Discussions

Q遷移すると毎回1回だけリロードする方法は?

jQueryもしくはjavascriptで、そのページに遷移すると毎回1回だけリロードするように
制御するにはどのような記述をすればよろしいでしょうか。
※IEのバグ対応のためにこのスクリプトが必要になります。

ちなみにmetaのrefreshではループしていまうので、
スクリプトでできないかと思っているのですが。

AAnswer to: 遷移すると毎回1回だけリロードする方法は?

kyo_ago

window.nameを使用してはどうでしょうか?
ページをリロードしても残ってるので再読み込み時に判定することでJSでリロードしたかどうかを判断できます。

実装をサンプルコードとして作成しました。
(が、jsdo.itでは内部ですでにwindow.nameを使用しているので競合して延々リロードしてしまいます。。。)

もし汎用的に作るならdocument.cookie、IE8以降の対応でいいならsessionStorageも使用できます。
(ただし、document.cookieはサーバに無駄な情報が送られるとか扱いが面倒という問題もあります)

yoncyome

IEでconsole.log()にエラーがでるので、その回避のための記述を追加してみたのですが、
リロードが1回でおさまらずに永遠とループしてしまいます。
IEのバグ対応のため、IE6からIE8までの対応が必要になります。

どうすればリロードがを1回だけするようにできるでしょうか。

kyo_ago

すいません。
コードがおかしかったので修正しました。

上記回答と同じコードですが、リロード前、リロード後でalertするようにしたので確認してみてください。

Post a question

You can post JavaScript, HTML, CSS related questions with attached reference to actual codes and get the answers likewise.

Ask a question

  • 1. Click the ‘Post a question’ above

  • 2. Enter question details, reference code, and click ‘Add question’ button

  • 3. Question will be paired with the code on display

Add an answer

  • 1. Choose a question

  • 2. Enter answer details, attach the reference code and click ‘add answer’ button

  • 3. Your answer will accompanied with attached code

Tag