Javascript 当用户离开页面时,在angularjs中显示自定义确认框
我的要求是当用户离开页面而不保存表单数据时,显示一个定制的确认框Javascript 当用户离开页面时,在angularjs中显示自定义确认框,javascript,angularjs,angularjs-material,Javascript,Angularjs,Angularjs Material,我的要求是当用户离开页面而不保存表单数据时,显示一个定制的确认框 我使用了窗口。onbeforeunload事件显示与google chrome相关的预定义确认框。当用户更改任何表单并尝试重新加载、关闭选项卡或更改路由时,我希望显示$mdDialog。确认并要求用户离开页面或停留在同一页面上。如何制作一个?出于安全原因,这无法完成。您可以在上的MDN页面中找到更多详细信息 过去,您可以返回一个显示给用户的自定义字符串,但现在即使这样也被忽略了。您所能做的最好是指示页面显示您已有的标准对话框。(在
我使用了
窗口。onbeforeunload
事件显示与google chrome相关的预定义确认框。当用户更改任何表单并尝试重新加载、关闭选项卡或更改路由时,我希望显示$mdDialog。确认并要求用户离开页面或停留在同一页面上。如何制作一个?出于安全原因,这无法完成。您可以在上的MDN页面中找到更多详细信息
过去,您可以返回一个显示给用户的自定义字符串,但现在即使这样也被忽略了。您所能做的最好是指示页面显示您已有的标准对话框。(在某些浏览器和场景中,甚至可以忽略该指令。)
另一种方法是在页面中包含一个用于离开表单的按钮。尽管这仍然不能阻止用户直接离开页面,但如果页面足够可见,在许多情况下,用户更可能单击该页面而不是直接导航。它还作为一种被动提醒,提醒您表单需要显式保存或取消(当然,这取决于您的具体细节)。我认为这是不可能的,这是出于设计。您可以发出的唯一通知是使用浏览器自己的对话框。这样网页就不能无限期地劫持用户。