要阻止页面跳转到之前访问过的页面,可以使用以下方法:
<script>
history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
history.pushState(null, null, document.URL);
});
</script>
<script>
sessionStorage.setItem('lastVisitedPage', document.URL);
window.addEventListener('beforeunload', function () {
sessionStorage.removeItem('lastVisitedPage');
});
window.addEventListener('unload', function () {
sessionStorage.removeItem('lastVisitedPage');
});
window.addEventListener('DOMContentLoaded', function () {
var lastVisitedPage = sessionStorage.getItem('lastVisitedPage');
if (lastVisitedPage && lastVisitedPage === document.URL) {
// 阻止跳转到之前访问过的页面
window.location.href = 'error.html';
}
});
</script>
<script>
function setCookie(name, value, days) {
var expires = '';
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toUTCString();
}
document.cookie = name + '=' + (value || '') + expires + '; path=/';
}
function getCookie(name) {
var nameEQ = name + '=';
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function eraseCookie(name) {
document.cookie = name + '=; Max-Age=-99999999;';
}
window.addEventListener('DOMContentLoaded', function () {
var lastVisitedPage = getCookie('lastVisitedPage');
if (lastVisitedPage && lastVisitedPage === document.URL) {
// 阻止跳转到之前访问过的页面
window.location.href = 'error.html';
} else {
setCookie('lastVisitedPage', document.URL, 365);
}
});
</script>
以上是三种常见的方法来阻止页面跳转到之前访问过的页面。根据具体需求和场景选择适合的方法即可。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云