javascript - 如何告诉网络浏览器用户已经修改了页面?

标签 javascript jquery dom

我让用户在 html 页面上进行一些可视化设置。这可能需要一些时间,所以我不希望用户通过以某种方式关闭网页(没有警告)来放弃完成的设置。

如果我使用了文本区域、复选框等,那么浏览器会警告用户。在我的情况下,如何告诉浏览器警告用户?

最佳答案

您可以在下面的示例中使用“unsavedChanges”等全局变量。然后,如果用户更改任何内容,您需要设置该变量。或者在任何情况下,当您希望在用户关闭网页之前进行确认时。

 var unsavedChanges = 0;
 window.onbeforeunload = function (e) {
    if(unsavedChanges != 0){
         e = e || window.event;

         // For IE and Firefox prior to version 4
         if (e) {
            e.returnValue = 'There is some unsaved changes!';
         }

         // For Safari
         return 'There is some unsaved changes!';
    }
};

关于javascript - 如何告诉网络浏览器用户已经修改了页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192343/

相关文章:

javascript - 我应该为 Angular 5 使用哪个版本的 Firebase

javascript - Laravel 表单与 jquery 仅显示纯文本

javascript - HTML5 : Antialiasing leaves traces when I erase the image

javascript - 选择所有复选框并将选中复选框的值设置为 'on' jquery

javascript - 在 jQuery 中包装生成的元素

javascript - 为什么定义了 document.all 但 typeof document.all 返回 "undefined"?

javascript - 查找可以具有绝对定位元素的页面/文档内容的完整高度

javascript - 调用类函数未按预期响应

javascript - window.history.go(-1) 在 iOS 主屏幕应用程序中不起作用

asp.net-mvc-3 - ajax jquery 传递空值