为了账号安全,请及时绑定邮箱和手机立即绑定

按浏览器后退按钮时尝试重定向到某个页面但不起作用

按浏览器后退按钮时尝试重定向到某个页面但不起作用

慕雪6442864 2021-12-12 17:56:11
下面是我的代码:window.addEventListener("beforeunload", function(event) {  <br/>    event.preventDefault();  <br/>    event.returnValue = '';  <br/>    window.location.href = 'https://google.co.in';  <br/>    return false;  <br/>});
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您可以尝试修改历史记录,并使用状态来了解用户是否返回


window.onpopstate = function(event) {

    if (event.state && event.state.redirect) {

       window.location.replace("http://www.google.com");

    }

};

history.replaceState({redirect: true}, "");

history.pushState({redirect: false}, "");


查看完整回答
反对 回复 2021-12-12
?
慕村9548890

TA贡献1884条经验 获得超4个赞

有一个错误window.location.href('https://google.co.in')只是用window.location.href = 'https://google.co.in';它替换 它会起作用。location.href 在给定链接的情况下像这样使用,下面给出了另一种方法。

window.location.replace("http://www.google.com");

该事件触发beforeunload功能:

  1. 直接在浏览器中或通过链接导航到另一个页面。

  2. 关闭当前浏览器窗口或标签页。

  3. 重新加载当前页面。

  4. 通过 JavaScript 中的 location 对象操作当前加载页面的 URL。

  5. 调用 window.navigate 方法。

  6. 调用 window.open 或 document.open 方法在同一窗口中打开文档。


此代码阻止后退按钮并将窗口替换为 google.com

window.addEventListener( "pageshow", function ( event ) {

  var historyTraversal = event.persisted || 

                         ( typeof window.performance != "undefined" && 

                              window.performance.navigation.type === 2 );

  if ( historyTraversal ) {

    // Handle page restore.

   window.location.replace("http://www.google.com");

  }

});


查看完整回答
反对 回复 2021-12-12
  • 2 回答
  • 0 关注
  • 399 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号