我需要在用户离开页面之前警告用户未保存的更改(这是一个非常常见的问题).
window.onbeforeunload=handler
Run Code Online (Sandbox Code Playgroud)
这有效,但它会引发一个默认对话框,其中包含一条包含我自己文本的令人生气的标准消息.我需要完全替换标准消息,所以我的文本是清楚的,或者(更好)用一个模式对话框替换整个对话框使用jQuery.
到目前为止,我失败了,我还没有找到任何似乎有答案的人.它甚至可能吗?
我的页面中的Javascript:
<script type="text/javascript">
window.onbeforeunload=closeIt;
</script>
Run Code Online (Sandbox Code Playgroud)
closeIt()函数:
function closeIt()
{
if (changes == "true" || files == "true")
{
return "Here you can append a custom message to the default dialog.";
}
}
Run Code Online (Sandbox Code Playgroud)
使用jQuery和jqModal我尝试过这种事情(使用自定义确认对话框):
$(window).beforeunload(function() {
confirm('new message: ' + this.href + ' !', this.href);
return false;
});
Run Code Online (Sandbox Code Playgroud)
这也行不通 - 我似乎无法绑定到beforeunload事件.
在stackoverflow中,如果您开始进行更改,那么您尝试离开页面,会出现一个javascript确认按钮并询问:"您确定要离开此页面吗?" blee blah bloo ...
有没有人以前实现过这个,我如何跟踪提交的更改?我相信我自己可以做到这一点,我正在努力学习专家们的良好做法.
我尝试了以下但仍然无法正常工作:
<html>
<body>
<p>Close the page to trigger the onunload event.</p>
<script type="text/javascript">
var changes = false;
window.onbeforeunload = function() {
if (changes)
{
var message = "Are you sure you want to navigate away from this page?\n\nYou have started writing or editing a post.\n\nPress OK to continue or Cancel to stay on the current page.";
if (confirm(message)) return true;
else return false;
}
}
</script>
<input type='text' onchange='changes=true;'> </input>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
任何人都可以发一个例子吗
我有一个聊天应用程序,我希望每当用户意外或手动关闭浏览器时,他都应该收到警报,以便可以执行各种清理操作.我有更多的东西,我希望在事件之前使用,但我希望它用于特定的网页,因为所有其他网页也在加载前调用.请帮忙
我希望在用户离开特定页面时执行此功能.此函数将基本上更改数据库中某列内的所有数据.因此,如果用户离开此页面,我希望系统执行此功能.有没有办法检测用户是否已离开页面.
谢谢!
我希望在网页上有锚链接,当我点击链接时,它会将我带到网页的某个部分.
但是,当用户单击后页按钮时,它现在将用户带到页面的上一部分,而不是上一页.
我应该如何实现链接,以便它将用户带到上一页而不是页面的上一部分?
<a href="#some part">link</a>
Run Code Online (Sandbox Code Playgroud)