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条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件