admin管理员组

文章数量:1616033

环境:有一次开发中遇到这样的一个需求。但是后面却没有上先。

在一个H5页面,让浏览器与APP不能返回这个页面,类似于一个恶心的广告页面

 

代码:

    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() {});

 

本文标签: 浏览器页面app