jQuery获取地址栏参数插件(模仿C#)


Posted in Javascript onOctober 26, 2010
$.request = (function () { 
var apiMap = {}; 
function request(queryStr) { 
var api = {}; 
if (apiMap[queryStr]) { 
return apiMap[queryStr]; 
} 
api.queryString = (function () { 
var urlParams = {}; 
var e, 
d = function (s) { return decodeURIComponent(s.replace(/\+/g, " ")); }, 
q = queryStr.substring(queryStr.indexOf('?') + 1), 
r = /([^&=]+)=?([^&]*)/g; 
while (e = r.exec(q)) 
urlParams[d(e[1])] = d(e[2]); return urlParams; 
})(); 
api.getUrl = function () { 
var url = queryStr.substring(0, queryStr.indexOf('?') + 1); 
for (var p in api.queryString) { 
url += p + '=' + api.queryString[p] + "&"; 
} 
if (url.lastIndexOf('&') == url.length - 1) { 
return url.substring(0, url.lastIndexOf('&')); 
} 
return url; 
} 
apiMap[queryStr] = api; 
return api; 
} 
$.extend(request, request(window.location.href)); 
return request; 
})();

接下来简介绍一下插件的用法。

我们可以通过 $.request.queryString["key"] 就能获取到地址栏上面key参数。

大多数情况下我用这个插件来读取一些配置信息。

我们有时候会在 html 标签中加入一些其他的非HTML属性来作为标志信息,比如我们有时候会写<a id="demo" href="javascript:;" config="?title=hello&auto=true&">Demo</a>

这样子我们通过


var config = $.request($("#demo").attr("config")).queryString;

var title = config.title;

很方便就能读取a上面的配置信息,而且我们不需要给a 添加太多其他的非Html属性。

Javascript 相关文章推荐
window.onload 加载完毕的问题及解决方案(下)
Jul 09 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
May 31 Javascript
浅谈javascript中的三种弹窗
Oct 21 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
Jul 04 Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 Javascript
Vue render深入开发讲解
Apr 13 Javascript
vue代理和跨域问题的解决
Jul 18 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
Oct 07 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 Javascript
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
自制轻量级仿jQuery.boxy对话框插件代码
Oct 26 #Javascript
jquery ui resizable bug解决方法
Oct 26 #Javascript
HTML Dom与Css控制方法
Oct 25 #Javascript
Dom在ajax技术中的作用说明
Oct 25 #Javascript
Dom与浏览器兼容性说明
Oct 25 #Javascript
Dom 是什么的详细说明
Oct 25 #Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 #Javascript
You might like
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
php实现rc4加密算法代码
2012/04/25 PHP
php关联数组快速排序的方法
2015/04/17 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
包含中国城市的javascript对象实例
2015/08/03 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
python基础教程之lambda表达式使用方法
2014/02/12 Python
在Python中使用Neo4j数据库的教程
2015/04/16 Python
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
Python中装饰器学习总结
2018/02/10 Python
Python 元类实例解析
2018/04/04 Python
python 绘制国旗的示例
2020/09/27 Python
Python 可视化神器Plotly详解
2020/12/26 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
企业安全生产责任书
2014/04/14 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
2019公司管理制度
2019/04/19 职场文书
SpringBoot整合Minio文件存储
2022/04/03 Java/Android