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 中关于CSS操作部分使用说明
Jun 10 Javascript
传智播客学习之java 反射
Nov 22 Javascript
JS面向对象编程 for Cookie
Sep 19 Javascript
关于跨站脚本攻击问题
Dec 22 Javascript
js日期相关函数总结分享
Oct 15 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
Jun 06 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
Mar 09 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
vue2.0项目集成Cesium的实现方法
Jul 30 Javascript
vue实现鼠标经过动画
Oct 16 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 301转向实现代码
2008/09/18 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
JS实现图片旋转动画效果封装与使用示例
2018/07/09 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
自我鉴定范文
2013/11/10 职场文书
翻译专业应届生求职信
2013/11/23 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
道歉的话怎么说
2015/05/12 职场文书
货款欠条范本
2015/07/03 职场文书
超市主管竞聘书
2015/09/15 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS