这个问题真的是让我难受,从写php到thinkphp我用过了好几个后台框架。最后还是决定用花了几百大洋的H+。每个人都有自己的偏好,习惯用layui,vue的可能不太喜欢这个。我这人是心血来潮想用那个就把那个搬出来用,想用layui了就把它套进去,想用vue就把它也按进去。这个框架我个人比较喜欢,但是也有它的问题,就是

	iframe作为子窗口,刷新后页面跳转回默认首页

这个问题在我之前几个项目上就发现这个问题,并且tp5跳转后还是有点小问题,每个页面在框架内就是单独的页面,想起大学老师说的“画中画”。这个也不是说没好处,不管你在里面写了什么,地址栏都不会变,就算别人复制了你的url打开还是起始页。

但是项目需求不是这个样的,就得改,然后就在网上一堆查。说了很多,我js功底浅,有些方法还是没看懂,就按照说的来挨着试,总算找到一个能满足我需求的方法,分享给大家。

    function loadIframe(url) {
            //获取url链接
            var u = window.location.href;
            //因为每次获取的链接中都有之前的旧锚点,
            //所以需要把#之后的旧锚点去掉再来加新的锚点(即传入的url参数)
            var end = u.indexOf("#");
            var rurl = u.substring(0,end);
            //设置新的锚点
            window.location.href = rurl + "#" + url;
        }
        
        var hash = location.hash;
        var url = hash.substring(1,hash.length);
        $("#iframe").attr("src", url); //别忘了加id

直接把这个粘贴进去,然后在你左侧栏里面,把href=“creatCata.html”换成onclick="loadIframe('creatCata.html')",好了,这样地址栏就变了http://127.0.0.5/admin/index/index.html#creatCata.html,刷新也不会变,点击都正常了。

如果对这个不满意的可以去下载X-admin,里面也是用的js方法
在这里插入图片描述
在这里插入图片描述
每次点击原来的url不变,刷新也不变,还能保持原来的东西,但是好像每次刷新都是最后一个打开的页面。

Logo

前往低代码交流专区

更多推荐