离开页面确认主要是利用了onbeforeunload事件,当该事件声明为:
<body οnbefοreunlοad="return pageBeforeunload(event);">时(注意是return一个函数),在页面离开时将弹出默认的询问确认窗口, pageBeforeunload()函数只需要返回一个字符串,字符串的内容将显示在该窗口的中间一行,点击OK离开页面,点击Cancel继续停留在当前页面。
该方式具体的代码如下:
<script type="text/javascript"> var curElement; function pageBeforeunload(evt){ return 'Are you sure you want to leave this page?'; } </script> <body οnbefοreunlοad="return pageBeforeunload(event);"> </body>
另外一种方式是把onbeforeunload声明为:
<body οnbefοreunlοad="pageBeforeunload(event);">在该种方式下,将不会弹出系统默认的离开确认对话框,此时可以在pageBeforeunload函数内部,通过调用confirm方法进行确认,这种方式的好处是,即便在用户确认离开页面的时候,也可以进行必要的状态保存操作。此时pageBeforeunload的代码可以写成:
function pageBeforeunload(evt){ var confirm = confirm('Are you sure to leave this page?'); if(confirm == true){ // 添加必要的处理逻辑 } }