在最新版本的OSX上使用Chrome浏览Facebook时,我发现在评论框中开始输入并单击其他链接或按下返回按钮会触发一个确认窗口,询问是否要离开。
作为一名老派的开发人员,我曾相信唯一的可能性是将onbeforeunload事件附加到页面以处理后退按钮点击。我知道你可以在anchors上进行全局绑定以模拟onbeforeunload,但我很惊讶他们设法拥有自定义样式的确认窗口,而不是股票丑陋的确认对话框。
他们是如何做到的?这是某种HTML5窗口历史记录还是pushState事件触发?
作为一名老派的开发人员,我曾相信唯一的可能性是将onbeforeunload事件附加到页面以处理后退按钮点击。我知道你可以在anchors上进行全局绑定以模拟onbeforeunload,但我很惊讶他们设法拥有自定义样式的确认窗口,而不是股票丑陋的确认对话框。
他们是如何做到的?这是某种HTML5窗口历史记录还是pushState事件触发?
popstate
事件,并始终抑制默认操作。 - SLakspopstate
еҫҲеҸҜиғҪжҳҜзҪӘйӯҒзҘёйҰ–гҖӮеёҢжңӣжңүдәәиғҪеҸ‘еёғдёҖдёӘз»“еҗҲиҝҷдёӨдёӘпјҲй“ҫжҺҘз»‘е®ҡе’Ңpopstateпјүзҡ„жҰӮеҝөйӘҢиҜҒгҖӮhttps://developer.mozilla.org/en-US/docs/Web/API/Window.onpopstate - Corey Balloupopstate
只在同一文档中起作用,这意味着你不仅需要使用AJAX
,还需要使用.htacess
路由,例如将所有“文档”路由到index.php
。然后你就可以在同一页上防止该事件的发生! - loveNoHate