zoukankan      html  css  js  c++  java
  • 浏览器端 禁止 html 使用后退 或者替换后退功能..

    知乎大佬的代码:

    作者:独夜行
    链接:https://www.zhihu.com/question/40511430/answer/166467343
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    
    (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);
            
    })();

    我的需求可能比较简单...仅仅是替换调回退 功能就ok了:

        (function () {
            //页面加载完成 压入一个 历史记录...
            history.pushState({}, '', '');
            window.addEventListener('popstate', function (e) {
                //console.log(e);
                //父页面 关闭 所有layer 弹层...
                parent.layer.closeAll();
                //加上下面这句话后..永远不能跳转了---
                //history.pushState({}, '', '');
            }, false);
    
        })();
  • 相关阅读:
    python自学笔记
    mybatis审查要点
    session和cookie的简单理解
    linux命令
    [个人原创]关于java中对象排序的一些探讨(三)
    [技术翻译]Guava官方文档Ordering
    [个人原创]关于java中对象排序的一些探讨(二)
    [个人原创]关于java中对象排序的一些探讨(一)
    from 2666
    Euler Project question 34 in python way
  • 原文地址:https://www.cnblogs.com/whm-blog/p/8926980.html
Copyright © 2011-2022 走看看