layuiadmin后台管理框架iframe版,每次刷新整个页面,都会回到首页,这样的体验感非常不好

现在想要实现点击侧边栏菜单后,刷新保持当前页面,可以利用缓存来处理,供自己参考如下:

<script>
    layui.config({
        base: '__ROOT__/homeStatic/' // 静态资源所在路径
    }).extend({
        index: 'lib/index' // 主入口模块
    }).use('index', function() {
        var $ = layui.$,
            admin = layui.admin,
            form = layui.form,
            table = layui.table

        var active = {
            // 点击菜单缓存当前页面
            menuEvent() {
                // 刷新
                $('#LAY-system-side-menu').on("click", 'a[lay-href]', function() {
                    var tabNum = $(this).index();
                    var tabUrl = $(this).attr('lay-href');
                    var homeTabMenu = {};
                    homeTabMenu.tabNum = tabNum;
                    homeTabMenu.tabUrl = tabUrl;
                    sessionStorage.setItem("homeTabMenu", JSON.stringify(homeTabMenu));
                })
            },
            // 刷新保持页面
            stopPage() {
                // 刷新保持在当前页面
                var homeTabMenu = sessionStorage.getItem("homeTabMenu");
                homeTabMenu = JSON.parse(homeTabMenu);
                // console.log(homeTabMenu)
                // console.log(homeTabMenu!='' && homeTabMenu.hasOwnProperty('tabUrl'))
                // 将之前的URL设置为iframe的src
                if (homeTabMenu != null && homeTabMenu.hasOwnProperty('tabUrl')) {
                    var a = homeTabMenu.tabUrl;
                    $(`#LAY-system-side-menu a[lay-href="${a}"]`).click();
                    $(`#LAY-system-side-menu a[lay-href="${a}"]`).parents('li').addClass('layui-nav-itemed');
                }
            },
            init: function() {
                this.menuEvent();
                this.stopPage();
            }
        }
        active.init();
    });
</script>
THE END

本站部分文章搜集整理于互联网或者网友提供,如有侵权请联系站长

如若转载,请注明出处:https://www.htmlbk.com/web/2426.html

温馨提示:该文档最后一次修改时间为2023-12-14 14:37:05,请注意相关的内容是否还可用!

TAG标签:layuilayuiadmin