1. 获取地址栏参数

 GetQueryString: function(name){     // 获取地址栏参数

            var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURIComponent(r[2]); return null;
}

2. 如果有一个结构比较深的json表,需要通过属性去遍历他的层次

function deepJson(obj, page) {
var result = {};
; (function walkTree(obj, page) {
for (key in obj) {
if (key == page) {
result = obj[key];
break;
} else if (obj[key].subMenu) {
walkTree(obj[key].subMenu, page);
}
}
})(obj, page);
return result;
}

  

 

var htmlconfig = {
system: {
text: '系统配置',
subMenu: {
account: {
text: '账号管理',
crumbs: 'system/account',
url: '#system/account'
},
role: {
text: '角色管理',
crumbs: 'system/role',
url: '#system/role'
},
function: {
text: '功能管理',
crumbs: 'system/function',
url: '#system/function'
},
permission: {
text: '权限设置',
crumbs: 'system/permission',
url: '#system/permission'
},
schedule: {
text: '任务调度',
crumbs: 'system/schedule',
url: '#system/schedule/index',
subMenu: {
service: {
text: '服务配置',
crumbs: 'system/schedule/service',
url: '#system/schedule/service',
subMenu: {
work: {
text: '任务作业配置表',
crumbs: 'system/schedule/service/work',
url: '#system/schedule/work'
},
}
}
}
},
config: {
text: '配置设置',
crumbs: 'system/config',
url: '#system/config'
}
}
}
}
}
}; module.exports = htmlconfig;

deepJson(htmlconfig,'service')

 

//根据路由确定面包屑的菜单
function deepJsonMenu(page) {
var result = {},
obj = utilSys.crumbConfig;
var menu = page.split('/'),
testObj = {};
var firstLevel = obj[menu[0]];
var otherObj = firstLevel;
testObj[0] = firstLevel;
for (var i = 1, len = menu.length; i < len; i++) {
testObj[i] = otherObj.subMenu[menu[i]];
otherObj = testObj[i];
}
return testObj;
}

  deepJsonMenu('#system/config')

 

获取地址栏参数,json遍历的更多相关文章

  1. 用JS获取地址栏参数的方法

    采用正则表达式获取地址栏参数: function GetQueryString(name) {      var reg = new RegExp("(^|&)"+ nam ...

  2. 用JS获取地址栏参数的方法(超级简单)

    方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) {      var reg = new RegExp("( ...

  3. JS获取地址栏参数

    获取地址栏参数(其中name为你所需要的参数值) function GetQueryString(name) { var reg = new RegExp("(^|&)" ...

  4. JS 获取 地址栏 参数

    法一:正则表达式 /** * 采用正则表达式获取地址栏参数: **/ var GetQueryString = function (name) { var reg = new RegExp(" ...

  5. 用JavaScript获取地址栏参数的方法

    /** * 获取地址栏参数 * * @example GetUrlString('id') * * @desc 调用时加上判断,保证程序不会出错 * var myurl = GetUrlString( ...

  6. 【2017-06-27】Js中获取地址栏参数、Js中字符串截取

    一.Js中获取地址栏参数 //从地址栏获取想要的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" ...

  7. 【功能代码】---4用JS获取地址栏参数方法

    用JS获取地址栏参数方法 // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new Reg ...

  8. (转)用JS获取地址栏参数的方法(超级简单)

    转自http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html 用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获 ...

  9. vue项目获取地址栏参数(非路由传参)

    在项目中,遇到一个需求,就是另一个系统直接跳转到我们项目中的某个页面,不需要做用户的校验直接单纯的跳转新页面,再初始化查询数据,参数以地址栏的形式传入 由于原来项目做过权限控制,所以在路由那边需要进行 ...

随机推荐

  1. winform防止界面卡死的三种方法

    在编程过程中经常会遇到耗时操作,这个时候如果不采取一些必要的异步操作,就会导致界面的卡死,这里以winform为例子,介绍三种方法防止界面卡死,对这几个方法稍加修改同样适用于wpf,silverlig ...

  2. ABP 软删除ISoftDelete

    一.简介 ABP 的软删除是为了,在删除的时候,不是真正的删除数据,是为了保护数据. 二.具体实现 在 Core  层,我们需要这个实体去实现这个 ISoftDelete 接口.实现它的 public ...

  3. keycode和which

    firefox 中不支持keyCode ie9-- 不支持which firefox:上下左右键会触发kepress. chrome: 上下左右键不会触发kepress. oprea:上下左右键不会触 ...

  4. 树状数组laekov

    lowbit 数组的第 i 位存储的是以 i 为结尾的长度为lowbit(i) 的一段的和. int lowBit(x) { return x & -x; } 加点 int n, bt[max ...

  5. uoj#279. 【UTR #2】题目交流通道(容斥+数数)

    传送门 先考虑无解的情况,为以下几种:\(dis_{i,j}+dis_{j,k}<dis_{i,k}\),\(dis_{i,i}\neq 0\),\(dis_{i,j}\neq dis_{j,i ...

  6. JS高级学习历程-6

    PHP菜鸟学习历程-6 [闭包案例] 1 闭包创建数组 <!DOCTYPE html> <html lang="en"> <head> < ...

  7. Mac用brew安装MySQL

    1.先安装brew 网址:https://brew.sh/ 复制命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent ...

  8. Codeforces Round #431 (Div. 2) C

    From beginning till end, this message has been waiting to be conveyed. For a given unordered multise ...

  9. Struts2 拦截器(Interceptor )原理和配置

    http://blog.csdn.net/kingmax54212008/article/details/51777851

  10. NET Core学习方式(视频)

    NET Core学习方式(视频) ASP.NET Core都2.0了,它的普及还是不太好.作为一个.NET的老司机,我觉得.NET Core给我带来了很多的乐趣.Linux, Docker, Clou ...