3 回答
TA贡献1798条经验 获得超3个赞
“ popstate”事件仅在您之前推送内容时有效。因此,您必须执行以下操作:
jQuery(document).ready(function($) {
if (window.history && window.history.pushState) {
window.history.pushState('forward', null, './#forward');
$(window).on('popstate', function() {
alert('Back button was pressed.');
});
}
});
为了使浏览器向后兼容,我建议:history.js
TA贡献1752条经验 获得超4个赞
有很多方法可以检测用户是否单击了“后退”按钮。但是,一切都取决于您的需求。尝试浏览下面的链接,它们对您有帮助。
检测用户是否按下了当前页面上的“返回”按钮:
有没有一种方法可以使用Jquery检测跨浏览器被按下的后退按钮
检测浏览器中的后退按钮单击
在按下上一页(“前进”)上的“返回”按钮后,检测是否访问了当前页面:
单击“后退”按钮时是否存在跨浏览器的onload事件?
在浏览器后退按钮上触发事件单击
TA贡献1772条经验 获得超6个赞
发现这可以跨浏览器和移动back_button_override.js很好地工作。
(为野生动物园5.0添加了一个计时器)
// managage back button click (and backspace)
var count = 0; // needed for safari
window.onload = function () {
if (typeof history.pushState === "function") {
history.pushState("back", null, null);
window.onpopstate = function () {
history.pushState('back', null, null);
if(count == 1){window.location = 'your url';}
};
}
}
setTimeout(function(){count = 1;},200);
添加回答
举报