• x-admin退出登录后再登录出现tab重新加载,x-admin退出账号时,关闭全部选项卡(tab)


    问题

      用layui写的x-admin后台框架是个很不错的前端框架。使用的时候遇到问题,退出登录后,再登录重新加载tab,同用户没问题,不同的用户登录会导致权限不同的人也访问到这个页面。所以这里直接关闭这个功能。

    解决方法一

    直接修改xadmin.js,注释掉以下代码即可

    Xadmin.prototype.end = function() {
    
        var cate_list = this.get_cate_data();
    
        /*for(var i in cate_list){
          if(cate_list[i]!=null){
            $('.left-nav #nav li').eq(cate_list[i]).click();
          }
        }*/
      };

    直接这样注释,会导致,刷新也关闭所有标签页

    解决方法二

     <div class="layui-tab tab" lay-filter="xbs_tab" lay-allowclose="false">
            <ul class="layui-tab-title">
                <li class="home">
                    <i class="layui-icon">&#xe68e;</i>我的桌面
                </li>
            </ul>
            <div class="layui-unselect layui-form-select layui-form-selected" id="tab_right">
                <dl>
                    <dd data-type="this">关闭当前</dd>
                    <dd data-type="other">关闭其它</dd>
                    <dd data-type="all">关闭全部</dd>
                </dl>
            </div>
    </div>
    <div class="container">
        <div class="logo">
            <a href="/">XXX</a></div>
        <div class="left_open">
            <a><i title="展开左侧栏" class="iconfont">&#xe699;</i></a>
        </div>
        <ul class="layui-nav right" lay-filter="">
            <li class="layui-nav-item to-index">
                <a href="" ></a></li>
            <li class="layui-nav-item to-index">
                <a onclick="quit()" href="javascript:;" class="close-all" data-type="closeall">退出</a></li>
        </ul>
    </div>
    //js代码
    layui.use('element',function(){
            var $ = layui.jquery;
            var element = layui.element;//Tab的切换功能,切换事件监听等,需要依赖element模块
            var layer = layui.layer;
            var active = {
            //在这里给active绑定事件,后面可通过active调用这些事件
                tabDeleteAll:function(ids){//删除所有
                    $.each(ids,function(i,item){
                        element.tabDelete("xbs_tab",item);//ids是一个数组,里面存放了多个id,调用tabDelete方法分别删除
                    })
                }
            };
    
            $(".close-all").click(function () {
                if ($(this).attr("data-type") == "closeall") {
                    var tabtitle = $(".layui-tab-title li");
                    var ids = new Array();
                    $.each(tabtitle, function (i) {
                        ids[i] = $(this).attr("lay-id");
                    });
                    active.tabDeleteAll(ids);
                }
    
            })
        });

    这样在退出的时候就可以随便吧选项卡关闭了

  • 相关阅读:
    第2章 创建基础框架
    目录
    工厂方法模式(Factory Method)
    petshop4.0 详解之七(PetShop表示层设计)
    第1章 启动电子商务网站
    第3章 创建商品目录:第Ⅰ部分
    编写一个JAVA应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积
    书上例题练习第一章
    java与C/C++的区别
    安装JDK遇到的问题
  • 原文地址:https://www.cnblogs.com/MoooJL/p/14874461.html
Copyright © 2020-2023  润新知