我们有一个管理门户,在注销和/或关闭浏览器窗口之前,我们的老师经常忘记下载最新的PDF说明.我环顾四周但找不到我要找的东西.
我想实现以下目标:
在用户关闭浏览器窗口之前,系统会提示"您还记得下载表单吗?" 有两个选项,是/否.如果是,请关闭,否则返回页面.
在用户单击"注销"按钮之前,系统会提示它们与上面相同.
我在第一次使用非常基本的代码(不适用于浏览器关闭)是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function init() {
if (window.addEventListener) {
window.addEventListener("beforeunload", unloadMess, false);
} else if (window.onbeforeunload) {
window.onbeforeunload = unloadMess;
};
}
function unloadMess() {
var User_Message = "[Your user message here]"
return User_Message;
}
</script>
</head>
<body onload="init();">
hello this is my site
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
下面提供的解决方案有效,但也有自己的问题:
当用户单击实际下载表单的链接时,该页面认为他们正试图离开并反过来向他们显示错误消息!此外 - 我希望一个或另一个事件发生,但不一定两者都发生.即他们点击"注销"按钮,他们会看到OnClick事件,然后是浏览器提示.有任何想法吗?
我试图在用户关闭或重新启动页面时实现通知.我正在使用以下代码
function unloadPage(){
return "Your changes will not be saved.";
}
window.onbeforeclose = unloadPage;
Run Code Online (Sandbox Code Playgroud)
这很好.但是问题是每当导航发生时就会发生这种情况.这可能是页面刷新或表单提交或超链接点击或任何导航发生.我只想将此代码用于浏览器刷新和关闭我知道设置一个标志并检查它.但是我必须将它集成到一个大的应用程序中.所以在每个页面中添加代码都很困难.所以有一个简单的方法.有没有办法捕获刷新或浏览器cosing,以便可以使用它.