renren开源导航栏点击同一菜单不刷新页面问题

在使用renren-security框架时,发现导航栏点击同一菜单不刷新iframe。通过研究源码,了解到问题在于window.location.hash未改变。解决方法包括:1.点击时修改hash加时间戳确保每次不同;2.通过父页面刷新iframe内容。当在二级页面跳转时,使用统一的goNext方法,避免window.location.href导致的问题,确保点击同一菜单能正确刷新一级页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一个项目使用了renren-security这个开源框架,先纵览一下外观,
在这里插入图片描述

嗯,确认过眼神,是传统管理后台的样子~

使用过程中发现,当在导航栏中点击同一菜单时,iframe并不会刷新,其实这也不算个问题,奈何产品经理就要这个功能,只好看看人家源码是怎么写的了,很容易在index.js中就找到了控制路由的代码(真正的开源应当如此**):

function routerList(router, menuList) {
    for (var key in menuList) {
        var menu = menuList[key];
        if (menu.type == 0) {
            routerList(router, menu.list);
        } else if (menu.type == 1) {
            router.add('#' + menu.url, function () {
                var url = window.location.hash;
                //替换iframe的url
                vm.main = url.replace('#', '');
                //导航菜单展开
                $(".treeview-menu li").removeClass("active");
                $("a[href='" + url + "']").parents("li").addClass("active");
                vm.navTitle = $("a[href='" + url + "']").text(
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值