• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScript 遷移中止できない)

JavaScript画面遷移中断できない

このQ&Aのポイント
  • JavaScriptのコードで画面遷移の中断を試みましたが、うまくいかない問題が発生しています。
  • 「本当に画面遷移してもいいですか?」にいいえを選択すると、遷移が中断されるべきですが、実際には遷移してしまいます。
  • なぜこの問題が発生しているのか理解できず、解決策を知りたいです。

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.1

>falseが返され、遷移が中断されるようにしたかったのですが、 >遷移してしまいます。 false を返すのはいいですが、中断する部分はどこでしょうか? trueを返そうが、falseを返そうが、<a href=URL> は動作してしまうため、画面遷移しているんだと思います。 なので、スクリプト内で「Yesなら、飛ぶ」(つまりNoなら、「何もしない」)という風に直してみたところ、こんなのができました。 func_check の引数にURLを入れれば、リンクごとに好きな飛び先を設定できます。 ※<script> が <head> 内にあるのは私の好みです。(スクリプト非対応のブラウザで表示したとき、本文にスクリプトが出たりしません。まあそんなブラウザ、いまどき無いでしょうけど) ---- <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <script language="javascript" type="text/javascript"> function func_check(url){ if( window.confirm("本当に画面遷移してもいいですか?") ) { location.href = url; } } </script> </head> <body> <a href="javascript:func_check('https://www.google.co.jp');">サイトへ遷移します</a> </body> </html>

pppp4444
質問者

お礼

わかりやすくありがとうございます。

関連するQ&A