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>

参考以下内容

https://www.cnblogs.com/Easty/p/7820055.html
https://developer.mozilla.org/zh-CN/docs/Web/Events/popstate