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打造的百分比动态色彩条插件
Sep 19 Javascript
获取数组中最大最小值方法js代码(自写)
Aug 12 Javascript
JavaScript调试工具汇总
Dec 23 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
Aug 21 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
Sep 16 Javascript
浅谈JavaScript中数组的增删改查
Jun 20 Javascript
AngularJS中过滤器的使用与自定义实例代码
Sep 17 Javascript
js登录滑动验证的实现(不滑动无法登陆)
Jan 03 Javascript
纯js代码生成可搜索选择下拉列表的实例
Jan 11 Javascript
react项目实践之webpack-dev-serve
Sep 14 Javascript
小程序中英文混合排序问题解决
Aug 02 Javascript
vue将文件/图片批量打包下载zip的教程
Oct 21 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中模拟POST传递数据的两种方法分享
2011/09/16 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
Python返回真假值(True or False)小技巧
2015/04/10 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
毕业生自荐书
2013/12/18 职场文书
岗位明星事迹材料
2014/05/18 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
Mysql Show Profile
2021/04/05 MySQL
一文搞懂redux在react中的初步用法
2021/06/09 Javascript