qq_35883107 2018-03-21 01:39 采纳率: 0%
浏览 3252
已结题

popstate监控浏览器前进后退,后退时state为null 前进时state却有值

 <body>
        <div id="target">
            <a href="/#/ccc">dianji</a>
        </div>
    </body>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script>
        $("a").click(function(evt) {

            evt.preventDefault(); // 阻止默认的跳转操作
            var uri = $(this).attr('href');
            var newTitle = ajax_Load(uri); // 你自定义的Ajax加载函数,例如它会返回newTitle
            document.title = newTitle; // 分配新的页面标题
            var bbb = document.getElementById("target").innerHTML;
            if(history.pushState) {
                var state = ({
                    url: uri,
                    title: newTitle,
                    bbb: bbb
                });
                document.getElementById("target").innerHTML = "bbb";
                window.history.pushState(state, newTitle, uri);
            } else {
                window.location.href = "#!" + ~fakeURI;
            } // 如果不支持,使用旧的解决方案
            return false;
        });

        function ajax_Load(uri) {
            return "aaa";
        } // 你自定义的ajax函数,例如它会返回newTitle
        window.addEventListener('popstate', function(evt) {
            var state = evt.state;
            console.log(state);
            var newTitle = ajax_Load(state.title); //你自定义的ajax加载函数,例如它会返回newTitle
            document.getElementById("target").innerText= state.bbb;
            document.title = newTitle;

        }, false);
    </script>
  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器