在离开窗口前询问if状态是否为真
Javascript funtion to ask before leaving window of if status is true
我有一个activestatus变量,它告诉是否保存到文件,如果文件没有保存,activestatus将是真的,在这种情况下,如果用户按浏览器返回或尝试键入不同的url,他应该得到一个弹出框说,"你没有保存你想要保存的更改?是的不"。
这是我到目前为止尝试的
var activeInput=true;
window.onbeforeunload =checkNow;
function checkNow(){
if(activeInput==true){
alert('please save your changes');
return "Do you want to leave?"
}else{
alert('gonow');
return true;
}
}
基本上,我想调用一个函数,只有当用户想要离开窗口,并没有保存到文件。
尝试使用addEventListener
,并使用e.returnValue
来显示消息
var activeInput=true;
window.addEventListener('beforeunload', checkNow);
function checkNow(e) {
if (activeInput === false) return true;
var message = "Are you sure you want to leave this page? Ensure you save any changes.";
e.returnValue = message;
return message;
}
这是一个jsFiddle。您可以在这里阅读更多关于onbeforeunload
事件的信息,包括e.returnValue
的行为。
相关文章:
- 检查元素是否将状态从隐藏更改为可见
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- Angular+bootstrap ui,检查当前选项卡是否已处于活动状态
- reactjs-redux,是否可以有一个由2个组件使用的状态
- 是否可以在reactjs中设置多个状态变量
- 检查网络驱动程序是否浏览器仍处于打开状态
- 检查 redux 状态是否更改的简单方法
- Reactjs:在修改对象之前,是否需要复制处于组件状态的对象
- 是否可以在没有视图状态和回发的情况下使用asp.net web表单
- 使用jquery检查internet是否处于活动状态
- 查看CSS:invalid选择器当前是否在JavaScript中处于活动状态
- 如何检查Promise是否处于挂起状态
- 如何查找页面状态是否在 AJAX 或 Java 脚本 ASP.NET 更改
- 通过道具操纵状态是否正确
- UI状态是否应存储在模型或控制器中
- 窗口状态是否在导航后持续存在
- 检查事件函数中的组件状态是否有效
- 发送请求将令牌重置为以前的状态是否不安全?
- 通过props来初始化子组件的状态是否正确?
- 在离开窗口前询问if状态是否为真