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 相关文章推荐
OfflineSave离线保存代码再次发布使用说明
May 23 Javascript
jQuery之浮动窗口实现代码(两种方法)
Sep 08 Javascript
js中settimeout方法加参数的使用实例
Feb 27 Javascript
JavaScript代码性能优化总结(推荐)
May 16 Javascript
js+html5实现canvas绘制网页时钟的方法
May 21 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
AngularJS入门教程之XHR和依赖注入详解
Aug 18 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
Dec 08 Javascript
JS实现动画兼容性的transition和transform实例分析
Dec 13 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
Feb 13 Javascript
JavaScript中的回调函数实例讲解
Jan 27 Javascript
微信小程序如何调用新闻接口实现列表循环
Jul 02 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
PHP将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
PHP迭代器和生成器用法实例分析
2019/09/28 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
jQuery+AJAX实现网页无刷新上传
2015/02/22 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
深入理解vue中的$set
2017/06/01 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
vue脚手架中配置Sass的方法
2018/01/04 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
js实现星星打分效果
2020/07/05 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
Python删除空文件和空文件夹的方法
2015/07/14 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
python内存管理机制原理详解
2019/08/12 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
《狼和小羊》教学反思
2014/04/20 职场文书
中国梦读书活动总结
2014/07/10 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
2015年财务经理工作总结
2015/05/13 职场文书
高中班长竞选稿
2015/11/20 职场文书