为了防止用户离开表单,我使用了beforeunload之前的事件:
$(window).on('beforeunload', exit_page);
对于Firefox和Chrome,此方法工作正常,但对于Internet Explorer,则会调用beforeunload函数两次。
因此,我实现了记住调用事件并设置超时功能的技巧。与解释here一样。
几年来,这个解决方案运行良好。但现在我注意到这个技巧对IE11不起作用。当第二次调用exit_page函数并且不返回String时,IE11将不会显示弹出消息以防止离开页面但是将继续。对于返回的情况(并设置(e || window.event).returnValue)null,false,将执行相同操作或第二次显示弹出消息(例如,将false作为消息。)
如果用户想要离开页面,则对话框仅显示页面,然后页面重定向。
我找不到IE11的工作解决方案来第二次阻止beforeunload对话框。有解决方案可以解决这个问题吗?