- ベストアンサー
JavaScriptでページを一度だけリロード
とあるページにアクセスした際、JavaScript(jQuery)を使って一度だけページをリロードしたいと思っております。 <script language="JavaScript"><!-- function reload() { if (window.name != "test") { location.reload(); window.name = "test"; } } // --></script> 上記のような記述で試みたのですが、リロードしてくれません。 他に対応できる方法がございましたら、ご教授いただけますと幸いです。 以上、よろしくお願い致します。
- みんなの回答 (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>
その他の回答 (2)
- t_ohta
- ベストアンサー率38% (5253/13739)
私の手元では 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>
お礼
t_ohta様 度々のご連絡のほど、ありがとうございます。 今まで外部JS化したものを読み込んでおり、またjqueryもローカルにある少し古いバージョンのものを使用していたのですが、 上記のように2.1.4を使用してHTMLに直接記述して試してみましたところ、アラートが表示されるようになりました。 動きとしましては、初回アクセス時にアラートが表示され、 その状態でリロードすると表示されない、という状態です。 こちらでもかなり解決に近づいたのですが、 初回アクセス後、リロードを押しても同じようにアラートが一度表示されるようになれば と思っております。 プログラムでwindow.nameを使っている関係上、このような動きになってしまうのは仕方ないのかもしれませんが、 何か解決策がございましたらご教授いただけますと幸いです。 度々のご質問となってしまいまして大変恐縮ですが、 よろしくお願い致します。
- t_ohta
- ベストアンサー率38% (5253/13739)
関数を定義しただけで、その関数を呼び出す処理が書かれていないからリロードされません。 「// --></script>」の前に「reload();」を書き足しましょう。
お礼
t_ohta様 ご回答いただきまして、ありがとうございます。 私の記述が間違っておりまして、大変失礼致しました。 現在、jQueryを使用しまして、 $(document).ready( function(){ if (window.name != "test") { alert("reload"); location.reload(); window.name = "test"; } }); 上記のように修正しまして、再度動作確認しましたところ、 "reload"というアラートが表示されず、リロードがされていない状態です。 大変恐縮でございますが、こちらにつきまして原因がお分かりいただけましたらよろしくお願い致します。
お礼
t_ohta様 お返事が遅くなってしまいまして、大変失礼致しました。 載せていただきましたプログラムで試してみましたところ、意図していた動きになりました。 度々のご連絡・ご対応いただきまして、ありがとうございます。 非常に助かりました。