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 相关文章推荐
优秀js开源框架-jQuery使用手册(1)
Mar 10 Javascript
用jscript实现新建word文档
Jun 15 Javascript
ext checkboxgroup 回填数据解决
Aug 21 Javascript
js添加千分位的实现代码(超简单)
Aug 01 Javascript
js 动态生成json对象、时时更新json对象的方法
Dec 02 Javascript
微信小程序开发入门基础教程
Apr 19 Javascript
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
vue 巧用过渡效果(小结)
Sep 22 Javascript
vue实现全匹配搜索列表内容
Sep 26 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 Javascript
JS实现购物车基本功能
Nov 08 Javascript
如何在Express4.x中愉快地使用async的方法
Nov 18 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中使用全局变量的几种方法
2013/06/24 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
收集的10个免费的jQuery相册
2011/02/26 Javascript
jquery异步调用页面后台方法&amp;#8207;(asp.net)
2011/03/01 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
python和bash统计CPU利用率的方法
2015/07/10 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Python识别处理照片中的条形码
2020/11/16 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
django中cookiecutter的使用教程
2020/12/03 Python
super()与this()的区别
2016/01/17 面试题
先进工作者获奖感言
2014/02/08 职场文书
主管竞聘书范文
2014/03/31 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
国际贸易实训报告
2014/11/05 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
Python实现机器学习算法的分类
2021/06/03 Python