首页 > 解决方案 > 带有后备网址的历史记录 back()

问题描述

我用这个(https://www.w3schools.com/jsref/met_his_back.asp)在我网站的感谢页面上添加了一个“继续浏览”按钮。

如果他们单击按钮,我希望能够将用户发送回 2 个页面,但是如果由于某种原因他们填写了表单并且不是来自另一个页面,那么我想添加一个后备 url,即只是主页页。

该按钮有效,但是否可以在没有历史记录的情况下添加后备网址?

这是我当前的代码:

<button onclick="goBack()" class="et_pb_button">Continue Browsing</button>
<script>
function goBack() {
    window.history.go(-2);
}
</script>

标签: javascript

解决方案


You always check for the number of entries in the History object.

<button class="et_pb_button">Continue Browsing</button> 

<script> 
  var url = 'www.test.com/signin'; // you need to know where you want to redirect to before hand
  document.querySelector('.et_pb_button').addEventListener('click', function() {
    if(window.history.length > 2) {
          window.history.go(-2);
      } else {
         window.location.href = url;
      }
  });
</script>

推荐阅读