我有一个特殊的要求,一旦访问者点击取消浏览器选项卡,我就需要打开一个jquery对话框。实际上这个对话框将包含一些调查问题。如果访客希望参加调查,那么一旦他点击对话框关闭按钮,网站的浏览器标签就会自动关闭。
我是jquery的新手,我试图从网上获得一些帮助,但没有运气..
如果我在这里得到建议,我将得救。 提前谢谢..这是我在答案后尝试的代码,但没有得到任何提醒Box ..
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="js/jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
$( window ).unload(function() {
alert( "Bye now!" );
});
</script>
</head>
<body>
</body>
答案 0 :(得分:0)
您可以在jQuery中使用unload
事件,如:
$( window ).unload(function() {
console.log( "Bye now!" );
});
当用户离开页面时会发生卸载事件。
在以下情况下触发卸载事件:
点击离开页面的链接 在地址栏中键入新URL 使用前进或后退按钮 浏览器窗口已关闭 页面重新加载 unload()方法指定卸载事件发生时会发生什么。
unload()方法只应在window对象上使用。
注意:unload事件在不同的浏览器中可能会有所不同。在使用之前,请务必在所有浏览器中测试此方法。
如果您希望jQuery卸载事件仅用于关闭窗口而不是用于链接导航,请参阅:jQuery unload event only for close window not for Link navigation
<强>更新强>
请尝试:
$(window).on('beforeunload ',function() {
return 'Are you sure ?';
});
来源:window.onunload is not working properly in Chrome browser. Can any one help me?
答案 1 :(得分:0)
这是简单的解决方案请尝试一旦它可以工作。
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript">
var validNavigation = false;
function wireUpEvents() {
window.onbeforeunload = function() {
if (!validNavigation) {
return "Bye";
}
}
$(document).keydown(function(e) {
if (e.keyCode == 116){
validNavigation = true;
}
});
$("a").bind("click", function() {
validNavigation = true;
});
$("form").bind("submit", function() {
validNavigation = true;
});
$("input[type=submit]").bind("click", function() {
validNavigation = true;
});
}
$(document).ready(function() {
wireUpEvents();
});
</script>
<body>
<h1>Hi Five</h1>
<a href="">hash</a>