为什么OnBeforeUnload没有';t在我的GWT应用程序中拦截后退按钮?
我对beforeUnload事件有一个钩子。如果我尝试点击链接、重新加载或关闭选项卡或导航器,应用程序会在离开前请求确认。这是我们想要的行为 但如果单击后退按钮或输入外的退格,则不确认 在html的开头:为什么OnBeforeUnload没有';t在我的GWT应用程序中拦截后退按钮?,gwt,onbeforeunload,Gwt,Onbeforeunload,我对beforeUnload事件有一个钩子。如果我尝试点击链接、重新加载或关闭选项卡或导航器,应用程序会在离开前请求确认。这是我们想要的行为 但如果单击后退按钮或输入外的退格,则不确认 在html的开头: window.onbeforeunload = function() { if (confirmEnabled) return ""; } 我使用Gwt PlaceHistoryMapper 我错过了什么?我忘了看哪了 谢谢 只要你呆在你的应用程序中,因为它是一个单页应用程序,根据
window.onbeforeunload = function() {
if (confirmEnabled)
return "";
}
我使用Gwt PlaceHistoryMapper
我错过了什么?我忘了看哪了
谢谢 只要你呆在你的应用程序中,因为它是一个单页应用程序,根据定义,它不会卸载,因此在卸载之前没有
事件
使用Places时,等效的是由EventBus
上的PlaceController
调度的PlaceChangeRequestEvent
。此事件也在卸载前调度,并且是活动中处理的基础
在GWT之外的JS世界中,根据您的PlaceHistoryHandler.Historian
实现(默认使用History.newItem()
,因此将是hashchange
),等价的将是hashchange
。返回按钮将带您到哪里?在应用程序内部或外部?内部。它正常运行,只是没有确认弹出窗口。对于我应用程序中的锚,我添加了一个JS位来拦截点击。这就是我错过的。现在我想处理PlaceChangeRequestEvent,但我不知道在请求确认后如何停止或继续通过“请求确认”,您是指PlaceChangeRequestEvent
上的setMessage()
,还是在事件处理程序中滚动自己的事件?使用前者,确认和停止/继续免费提供。