• ベストアンサー

JavaScriptでページを一度だけリロード

とあるページにアクセスした際、JavaScript(jQuery)を使って一度だけページをリロードしたいと思っております。 <script language="JavaScript"><!-- function reload() { if (window.name != "test") { location.reload(); window.name = "test"; } } // --></script> 上記のような記述で試みたのですが、リロードしてくれません。 他に対応できる方法がございましたら、ご教授いただけますと幸いです。 以上、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.3

> 初回アクセス後、リロードを押しても同じようにアラートが一度表示されるようになればと思っております。 ---------- <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <script language="JavaScript"> $(document).ready( function(){ if (window.name != "test") { alert("reload"); location.reload(); window.name = "test"; } else { window.name = ""; } }); </script>

yama-maron
質問者

お礼

t_ohta様 お返事が遅くなってしまいまして、大変失礼致しました。 載せていただきましたプログラムで試してみましたところ、意図していた動きになりました。 度々のご連絡・ご対応いただきまして、ありがとうございます。 非常に助かりました。

その他の回答 (2)

  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.2

私の手元では jQuery 版が正しく動作しますよ。 ---------- <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <script language="JavaScript"> $(document).ready( function(){ if (window.name != "test") { alert("reload"); location.reload(); window.name = "test"; } }); </script>

yama-maron
質問者

お礼

t_ohta様 度々のご連絡のほど、ありがとうございます。 今まで外部JS化したものを読み込んでおり、またjqueryもローカルにある少し古いバージョンのものを使用していたのですが、 上記のように2.1.4を使用してHTMLに直接記述して試してみましたところ、アラートが表示されるようになりました。 動きとしましては、初回アクセス時にアラートが表示され、 その状態でリロードすると表示されない、という状態です。 こちらでもかなり解決に近づいたのですが、 初回アクセス後、リロードを押しても同じようにアラートが一度表示されるようになれば と思っております。 プログラムでwindow.nameを使っている関係上、このような動きになってしまうのは仕方ないのかもしれませんが、 何か解決策がございましたらご教授いただけますと幸いです。 度々のご質問となってしまいまして大変恐縮ですが、 よろしくお願い致します。

  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.1

関数を定義しただけで、その関数を呼び出す処理が書かれていないからリロードされません。 「// --></script>」の前に「reload();」を書き足しましょう。

yama-maron
質問者

お礼

t_ohta様 ご回答いただきまして、ありがとうございます。 私の記述が間違っておりまして、大変失礼致しました。 現在、jQueryを使用しまして、 $(document).ready( function(){ if (window.name != "test") { alert("reload"); location.reload(); window.name = "test"; } }); 上記のように修正しまして、再度動作確認しましたところ、 "reload"というアラートが表示されず、リロードがされていない状態です。 大変恐縮でございますが、こちらにつきまして原因がお分かりいただけましたらよろしくお願い致します。

関連するQ&A

専門家に質問してみよう