onbeforeunload函数在浏览器后退按钮上启动



如果下一页的加载时间过长,我们将使用以下代码来显示加载模式。

window.onbeforeunload = function () {
window.setTimeout(showLoader, 2000);
}
function showLoader() {
var loader = '<div id="layoutLoadingModal" class="modal fade" role="dialog">' +
'<div class="modal-dialog">' +
'<div class="modal-content">' +
'<div class="modal-body">' +
'<h1>Loading!</h1>' +
'</div>' +
'</div>' +
'</div>' +
'</div>';
$("body").append(loader);
$('#layoutLoadingModal').modal('show');
}

不幸的是,如果用户使用浏览器后退按钮或带有history.go(-1);的按钮,它也会显示模式有什么方法可以通过推特发送代码来防止这种情况发生吗?

*编辑此脚本出现在两个页面上。当我在";第二页";然后单击返回。第二页上的脚本没有启动,因为加载时间小于2秒。但是,当加载上一页时,即使不应该加载,脚本也会启动。因此,第一个页面从头开始显示加载模式,您必须单击页面上的某个位置才能关闭它

好吧,原来我把情况解释错了。当我离开起始页时,加载模式将显示,至少如果加载第二页需要2秒以上。当我单击后退按钮时,浏览器会显示处于结束状态的起始页,并显示加载模式。

所以当我添加时

window.onunload = function () {
$('#layoutLoadingModal').modal('hide');
}

一切如预期。

最新更新