微信网页开发...

有时 后 popstate 无法使用 

下面的代码可以解决...

window.addEventListener("popstate", function(e) { //回调函数中实现需要的功能
        //抛出异常.无法执行
        //window.history.pushState(null, 'title', '__MODULE__/gerenzhongxin')
        location.href = '__MODULE__/gerenzhongxin'; //在这里指定其返回的地址
    }, false);
    
    (function() {
        if(!window.history.pushState || !document.dispatchEvent) return;
        var href = location.href;
        var flag = true;
        var voidFn = function() {};
        var fn = voidFn;
        var dispatchFn = function() {
            var evt = document.createEvent('Event');
            evt.initEvent('popstate', true, true);
            window.dispatchEvent(evt);
        };

        //  window.addEventListener('load', function() {
        if(location.hash !== '#flag') {
            history.replaceState({}, '', '/test02.html');
            if(href.search('#') === -1) {
                history.pushState({}, '', href + '#flag');
            } else {
                history.pushState({}, '', href.replace(/#.*/, '#flag'));
            }

        }

        /*    window.addEventListener('popstate', function() {
                dispatchFn = voidFn;
                flag = !flag;
                if(flag) {
                    location.reload();
                }

                //   }, false);

                setTimeout(function() {
                    fn = dispatchFn;
                    fn();
                }, 20);
            }, false);*/

    })();
原文地址:https://www.cnblogs.com/whm-blog/p/8735238.html