javascript - 解决方案,“onpopstate”事件在 chrome 中不起作用,但在 IE 和 FireFox 中运行良好
问题描述
当用户按下浏览器后退按钮时,我想提醒用户,为了捕获浏览器后退按钮事件,我正在使用 onpopstate 事件,如下所示。但问题是该事件在 IE 和 FireFox 中运行良好,但在 chrome 中没有被触发。请帮我解决这个问题,谢谢。
$(window).on('popstate', function () {
this.alert("Do you really want to leave the page?");
});
使用 Chrome 75
解决方案
仅当您将一项或多项添加到历史状态时才会触发弹出状态事件。您可以通过将页面加载时的状态替换为默认值来绕过它,而无需实际推送,这应该会触发您的事件。
推荐阅读
- c++ - 麻烦用 true 初始化布尔数组
- azure-functions - 在同一个函数应用中发布另一个函数后,Azure 函数失败,但在再次发布时工作正常
- java - 如何在java中以编程方式读取p7b文件
- php - PHP:如何从列表 UL / LI 转换为文本
- android - 调用 MutableLiveData 网络服务 agine 来更新列表
- python - 正则表达式行在 regex101 中有效,但在代码中抛出“组名中的错误字符”(在 If 子句中)
- c# - 元组的 IGrouping 中的最小元组
- android - 在 Junit/Hamcrest 中测试空对象
- visual-studio - 与 .vcxproj 等效的 CMake 是什么
错误的 - sql - PostgreSQL CTE UPDATE-FROM 查询跳过行