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 相关文章推荐
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
Jun 09 Javascript
JS实现两个大数(整数)相乘
Apr 28 Javascript
Javascript中的apply()方法浅析
Mar 15 Javascript
原生JS实现图片左右轮播
Dec 30 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
Mar 22 Javascript
angular2中Http请求原理与用法详解
Jan 11 Javascript
详解js删除数组中的指定元素
Oct 31 Javascript
详解如何使用node.js的开发框架express创建一个web应用
Dec 20 Javascript
Vue的编码技巧与规范使用详解
Aug 28 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
如何阻止移动端浏览器点击图片浏览
Aug 29 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语法(5)
2006/10/09 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
Python入门篇之对象类型
2014/10/17 Python
python实现中文转换url编码的方法
2016/06/14 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
优秀求职信范文分享
2013/12/19 职场文书
旅游管理专业大学生职业规划书
2014/02/27 职场文书
培训科主任岗位职责
2014/08/08 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
郭明义电影观后感
2015/06/08 职场文书
信用卡收入证明范本
2015/06/12 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
CSS基础详解
2021/10/16 HTML / CSS
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python