移动端的bug

微信浏览器中禁止系统返回的事件

2019-12-04  本文已影响0人  小猪_9b2e

 XBack = {};

 (function (XBack) {

     XBack.STATE = 'x - back';

     XBack.element;

     XBack.onPopState = function (event) {

         event.state === XBack.STATE && XBack.fire();

         XBack.record(XBack.STATE); //初始化事件时,push一下

     };

     XBack.record = function (state) {

         history.pushState(state, null, location.href);

     };

     XBack.fire = function () {

         var event = document.createEvent('Events');

         event.initEvent(XBack.STATE, false, false);

         XBack.element.dispatchEvent(event);

     };

     XBack.listen = function (listener) {

         XBack.element.addEventListener(XBack.STATE, listener, false);

     };

     XBack.init = function () {

         XBack.element = document.createElement('span');

         window.addEventListener('popstate', XBack.onPopState);

         XBack.record(XBack.STATE);

     };

 })(XBack); // 引入这段js文件

 XBack.init();

 XBack.listen(function () { });

亲测有效

上一篇 下一篇

猜你喜欢

热点阅读