Heim  >  Artikel  >  Web-Frontend  >  jQuery获取地址栏参数插件(模仿C#)_jquery

jQuery获取地址栏参数插件(模仿C#)_jquery

WBOY
WBOYOriginal
2016-05-16 18:17:35978Durchsuche
复制代码 代码如下:

$.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属性来作为标志信息,比如我们有时候会写Demo
  这样子我们通过   
    var config = $.request($("#demo").attr("config")).queryString;
    var title = config.title;
  很方便就能读取a上面的配置信息,而且我们不需要给a 添加太多其他的非Html属性。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn