suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - js怎么实现浏览器返回上一层,我们就能返回最后离开时候的状态!

想实现页面返回上一层,就能返回最后离开时候得到状态,包括样式一系列的,页面上没有返回上一层的btn,感觉很难实现!网上都说用hash,cookie,storage我感觉都不靠谱,根本没法取得页面是跳转过来的还是返回回来的,求大神指导!

阿神阿神2789 Tage vor541

Antworte allen(5)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-05-16 13:10:10

    window.history.go(-1);

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:10:10

    简单,离开的时候,你的url上带个参数:encode_url后的上一个页面的地址!

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:10:10

    是的,目前没办法判断页面是怎么进入的,有可能是回退,有可能是前进。

    Antwort
    0
  • ringa_lee

    ringa_lee2017-05-16 13:10:10

    http://www.zhangxinxu.com/wor...

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:10:10

    现在我有2个页面:页面A和页面B

    页面B

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    
    <body>
      <button type="" onclick='back()'>返回A页</button>
      <script>
      function back() {
        window.history.go(-1);
      }
      sessionStorage.setItem('info', 'true'); //值必须为字符串
      </script>
    </body>
    
    </html>

    页面A

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    
    <body>
      <a href="B.html">跳转到B页面</a>
      <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
      <script>
      var flag = sessionStorage.getItem('info'); // IE不支持本地文件
      if (flag === 'true') {
        $('<span class="back-succeed">返回成功</span>').appendTo('body'); //如果是从其他页面返回本页,添加提示
        console.log('页面是从B页返回的');
        sessionStorage.removeItem('info');
      } else {
        console.log('页面是新进入的');
      }
      </script>
    </body>
    
    </html>

    流程:

    1、从页面A进入页面B
    2、页面B我们设置了一个info==='true'的sessionStorage
    3、页面B通过按钮调用函数back()执行window.history.go(-1)返回了页面A
    4、回到页面A后我们取得info并赋值给flag,判断flag==='true'就表示是从页面B返回的,并清除info的值,如果在页面A刷新,那么info已经被清除了,会输出:页面是新进入的。
    5、如果一开始就直接打开页面A,此时没进入页面B,info也是不存在的,会输出:页面是新进入的

    复制A和B页面的内容可自己测试- -

    Antwort
    0
  • StornierenAntwort