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 相关文章推荐
JavaScript toFixed() 方法
Apr 15 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
Oct 12 Javascript
jquery的选择器的使用技巧之如何选择input框
Sep 22 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
Aug 27 Javascript
深入分析JQuery和JavaScript的异同
Oct 23 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
Dec 18 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
May 05 Javascript
JS中去掉array中重复元素的方法
May 26 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
Jun 13 Javascript
JQuery 又谈ajax局部刷新
Nov 27 jQuery
AngularJS实现动态切换样式的方法分析
Jun 26 Javascript
mpvue全局引入sass文件的方法步骤
Mar 06 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
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
php导入导出excel实例
2013/10/25 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
webpack3之loader全解析
2017/10/26 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
python获取本地计算机名字的方法
2015/04/29 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
查看python下OpenCV版本的方法
2018/08/03 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
python__name__原理及用法详解
2019/11/02 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
《燕子专列》教学反思
2014/02/21 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
科技活动周标语
2014/10/08 职场文书
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers