忍者ブログ
にわか情報系ががんばります.備忘録,あるいは同じ躓きつまづきをした人のために

ページ離脱時にポップアップを表示できない件

ページ離脱時にポップアップを表示させて,入力内容が失われる旨を通知する.


$(function(){
$(window).on("beforeunload",function(){
console.log("foofoo");
return "hogehoge";
});
});







とやれば簡単にできるはずだと思ったのだができない.
原因はjqueryが1.6.4だったから.

すでにjqueryも使用されて運用されているページに,離脱時ポップアップを付けようとしたが,上手く動かなかった.

読み込んでいるjqueryは1.8.3だと思っていたが,firebugで見ると1.6.4とか見える.
どうやら,includeしているファイル内で,古いjqueryを読み込んでいるようだ.
試しに

<script type="text/javascript" src="js/jquery-1.8.3.min.js">
ポップアップのスクリプト




<script type="text/javascript" src="js/jquery-1.8.3.min.js">
<script type="text/javascript" src="js/jquery-1.6.4.min.js">
ポップアップのスクリプト



を試してみると,前者はポップアップが出るのに,後者は出なかった.

古いjqueryが使われているのも問題だが,読み込む順番にも注意が必要.


また,return "hogehoge"; のhogehogeでメッセージを変えられるのかと思ったらそうでもない...?

と思ったら,firefoxはデフォルトのメッセージしか表示されなくて
chromeやIEは return "hogehoge";のhogehogeが表示されるんだね.
PR