当我在某些浏览器上关闭页面时,我希望出现一个消息框,并询问我是否真的要关闭页面,有两个按钮,如果我单击No
那么这个标签就不会被关闭。
我怎样才能做到这一点?
您需要收听beforeunload https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload event.
这是一个启动示例:
window.onbeforeunload = function() {
return "Hey, you're leaving the site. Bye!";
};
此消息将以确认对话框的形式显示。此消息将显示在右侧before客户端卸载页面。那可以是浏览器关闭,but这也可以是一个简单的导航操作,例如单击链接或在页面中提交表单!
您很可能还想将其关闭(只需设置为null
)每当单击内部链接或提交内部表单时。也就是说,您不想用不直观的行为来惹恼最终用户。您可以通过收听来做到这一点click
所需链接的事件和submit
所需形式的事件。jQuery http://jquery.com在这里可能会有很大的帮助,因为它以跨浏览器兼容的方式做到这一点,这样你就不需要为此编写 >20 行 JS 代码:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
window.onbeforeunload = function() {
return "You're leaving the site.";
};
$(document).ready(function() {
$('a[rel!=ext]').click(function() { window.onbeforeunload = null; });
$('form').submit(function() { window.onbeforeunload = null; });
});
</script>
您只需为所有外部链接赋予事实上的标准属性rel="ext"
表示这些是外部链接。
<a href="http://google.com" rel="ext">Google</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)