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 相关文章推荐
JavaScript 撑出页面文字换行
Jun 15 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
Jan 06 Javascript
jquery中trigger()无法触发hover事件的解决方法
May 07 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
javascript自定义事件功能与用法实例分析
Nov 08 Javascript
JS中精巧的自动柯里化实现方法
Dec 12 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
详解微信小程序开发用户授权登陆
Apr 24 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
Oct 11 Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 Javascript
自制轻量级仿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
安装APACHE
2007/01/15 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
python中global用法实例分析
2015/04/30 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
Python同时迭代多个序列的方法
2020/07/28 Python
浅析Python中字符串的intern机制
2020/10/03 Python
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
货代行业个人求职简历的自我评价
2013/10/22 职场文书
学生实习推荐信范文
2013/11/26 职场文书
物业保安员岗位职责
2014/03/14 职场文书
新兵入伍心得体会
2014/09/04 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
开天辟地观后感
2015/06/09 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
python双向链表实例详解
2022/05/25 Python