我想仅在用户关闭浏览器窗口时显示弹出窗口。但是,在下面的代码中。当我刷新页面时它显示弹出窗口。
我的代码
<script type="text/javascript">
$(document).ready(function()
{
var key = true;
$(window).bind('beforeunload', function(e){
if(key)
return confirm("Do you really want to close? This will log you out of your profile.");
e.preventDefault()
});
$(document).on("click","a",function() {
key=false;
});
});
</script>
最佳答案
这基本上就是您所需要的。
来源:open a custom popup on browser window/tab close
JSFiddle:http://jsfiddle.net/SQAmG/5/
var popit = true;
window.onbeforeunload = function() {
if(popit == true) {
popit = false;
return "Are you sure you want to leave?";
}
}
编辑
使用 HTML5 Web Storage 在浏览器中模拟 session 。在这里,您需要使用 sessionStorage 而不是 localStorage,以便 session 在浏览器窗口完全关闭时结束。
如果设置了 sessionStorage 变量,则不要启动弹出窗口,否则允许执行弹出窗口代码。
HTML5 网络存储:http://www.w3schools.com/html/html5_webstorage.asp
关于javascript - 避免刷新时弹出窗口。仅当用户关闭浏览器窗口时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26676180/