jQuery获取URL信息有很多方法,但是使用这个插件就非常爽了。

  托管地址在:http://github.com/allmarkedup/jQuery-URL-Parser

            //  http: //localhost:19090/home/index?id=1
var source = $.url.attr("source"); // http://localhost:19090/home/index?id=1
var protocol = $.url.attr("protocol"); // http 全部可选值http, https, file, etc
var path = $.url.attr("path"); // /home/index
var host = $.url.attr("host"); // localhost
var port = $.url.attr("port"); // 19090
var relative = $.url.attr("relative"); // /home/index?id=1
var directory = $.url.attr("directory");// /home/index // http://localhost:19090/floder/index.html?id=1
var file = $.url.attr("file"); // index.html
var query = $.url.attr("query"); // id = 1 这个还可以调用 .param() var id = $.url.param("id"); // 1;
var segment = $.url.segment(1); // 0:floder 1:index.html //也可以指定其他URL
var setUrlAnchor = $.url.setUrl("http://www.baidu.com/#logo").attr("anchor"); // 此时setUrlAnchor与上面示例的 $.url同样调用处理喊出

  jQuery.URL.Parse源代码如下:

// JQuery URL Parser
// Written by Mark Perkins, mark@allmarkedup.com
// License: http://unlicense.org/ (i.e. do what you want with it!) jQuery.url = function() {
var segments = {}; var parsed = {}; /**
* Options object. Only the URI and strictMode values can be changed via the setters below.
*/
var options = { url: window.location, // default URI is the page in which the script is running strictMode: false, // 'loose' parsing by default key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], // keys available to query q: {
name: "queryKey",
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
}, parser: {
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs
} }; /**
* Deals with the parsing of the URI according to the regex above.
* Written by Steven Levithan - see credits at top.
*/
var parseUri = function() {
str = decodeURI(options.url); var m = options.parser[options.strictMode ? "strict" : "loose"].exec(str);
var uri = {};
var i = 14; while (i--) {
uri[options.key[i]] = m[i] || "";
} uri[options.q.name] = {};
uri[options.key[12]].replace(options.q.parser, function($0, $1, $2) {
if ($1) {
uri[options.q.name][$1] = $2;
}
}); return uri;
}; /**
* Returns the value of the passed in key from the parsed URI.
*
* @param string key The key whose value is required
*/
var key = function(key) {
if (jQuery.isEmptyObject(parsed)) {
setUp(); // if the URI has not been parsed yet then do this first...
}
if (key == "base") {
if (parsed.port !== null && parsed.port !== "") {
return parsed.protocol + "://" + parsed.host + ":" + parsed.port + "/";
}
else {
return parsed.protocol + "://" + parsed.host + "/";
}
} return (parsed[key] === "") ? null : parsed[key];
}; /**
* Returns the value of the required query string parameter.
*
* @param string item The parameter whose value is required
*/
var param = function(item) {
if (jQuery.isEmptyObject(parsed)) {
setUp(); // if the URI has not been parsed yet then do this first...
}
return (parsed.queryKey[item] === null) ? null : parsed.queryKey[item];
}; /**
* 'Constructor' (not really!) function.
* Called whenever the URI changes to kick off re-parsing of the URI and splitting it up into segments.
*/
var setUp = function() {
parsed = parseUri(); getSegments();
}; /**
* Splits up the body of the URI into segments (i.e. sections delimited by '/')
*/
var getSegments = function() {
var p = parsed.path;
segments = []; // clear out segments array
segments = parsed.path.length == 1 ? {} : (p.charAt(p.length - 1) == "/" ? p.substring(1, p.length - 1) : path = p.substring(1)).split("/");
}; return { /**
* Sets the parsing mode - either strict or loose. Set to loose by default.
*
* @param string mode The mode to set the parser to. Anything apart from a value of 'strict' will set it to loose!
*/
setMode: function(mode) {
options.strictMode = mode == "strict" ? true : false;
return this;
}, /**
* Sets URI to parse if you don't want to to parse the current page's URI.
* Calling the function with no value for newUri resets it to the current page's URI.
*
* @param string newUri The URI to parse.
*/
setUrl: function(newUri) {
options.url = newUri === undefined ? window.location : newUri;
setUp();
return this;
}, /**
* Returns the value of the specified URI segment. Segments are numbered from 1 to the number of segments.
* For example the URI http://test.com/about/company/ segment(1) would return 'about'.
*
* If no integer is passed into the function it returns the number of segments in the URI.
*
* @param int pos The position of the segment to return. Can be empty.
*/
segment: function(pos) {
if (jQuery.isEmptyObject(parsed)) {
setUp(); // if the URI has not been parsed yet then do this first...
}
if (pos === undefined) {
return segments.length;
}
return (segments[pos] === "" || segments[pos] === undefined) ? null : segments[pos];
}, attr: key, // provides public access to private 'key' function - see above param: param // provides public access to private 'param' function - see above }; } ();

jQuery 获取 URL信息的更多相关文章

  1. 使用jquery获取url以及jquery获取url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  2. 一个用php实现的获取URL信息的类

    获取URL信息的类 使用这个类,你能获得URL的如下信息: - Host  - Path  - Statuscode (eg. 404,200, ...)  - HTTP Version  - Ser ...

  3. jquery获取url参数

    js/jquery 获取url参数 2010年04月27日 星期二 13:45 js代码: function GetQueryString(name) { var reg = new RegExp(& ...

  4. 使用jquery获取url及url参数的方法及定义JQuery扩展方法

    1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识. 2.jquery获取 ...

  5. Jquery 获取URL参数

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  6. [开发笔记]-使用jquery获取url及url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...

  7. 使用jquery获取url及url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javasc ...

  8. jquery 获取URL参数并转码的例子

    通过jquery 获取URL参数并进行转码,个人觉得不错,因为有时不转码就会有乱码的问题.jquery 获取URL参数并转码,首先构造一个含有目标参数的正则表达式对象,匹配目标参数并返回参数值代码: ...

  9. 使用jquery获取url上的参数(笔记)

    使用jquery获取url上的参数(笔记) 一.做作业时经常要获取url上的参数 1.当url上有多个参数时 从互联网找到了一个方法 (function ($) { $.getUrlParam = f ...

随机推荐

  1. Android开源中国客户端学习 (自定义View)左右滑动控件ScrollLayout

    左右滑动的控件我们使用的也是非常多了,但是基本上都是使用的viewpager 等 android基础的控件,那么我们有么有考虑过查看他的源码进行定制呢?当然,如果你自我感觉非常好的话可以自己定制一个, ...

  2. ElasticSearch大批量数据入库

    最近着手处理大批量数据的任务. 现状是这样的,一个数据采集程序承载大批量数据的存储和检索.后期可能需要对大批量数据进行统计. 数据分布情况 13个点定时生成采集结果到4个文件(小文件生成周期是5分钟) ...

  3. JAVA获得系统配置文件的System Properties

    来个java获得系统配置文件的 public class SystemProperties { public static void main(String[] args) { Properties ...

  4. Cookie知识点小结

    问题是什么?有哪些技术?如何解决? 1. Cookie 1)完成回话跟踪的一种机制:采用的是在客户端保存Http状态信息的方案 2)Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在 ...

  5. CodeForces 158 B. Taxi(模拟)

    [题目链接]click here~~ [题目大意]n组团体去包车,每组团体的人数<=4,一辆车最多容纳4人,求所求车的数目最小 [解题思路]:思路见代码~~ // C #ifndef _GLIB ...

  6. Coreseek:常见的问题2

    1.failed to lock XXXXX.spl档 这是当你构建的指数将是一个问题,您不必打开searchd服务关闭,既然你开searchd维修,他将建立呼叫xxx.spl临时文件,施工时的指数会 ...

  7. Linux自动登陆的设置方法

    前些天为了实现Linux自动登陆的方法,在网上查了很多资料,发现有不少方法,但网上有些方法的讲解不是特别清楚,或者已经过时.因此,特意整理了一下Linux自动登陆的设置方法.本文的测试环境为Cento ...

  8. rhel5.8-LAMP环境搭建

    一.LAMP安装前的准备   安装环境:rhel5.8  zabbix-2.4.5  php-5.6.8   MySQL5.6.23  libpng-1.5.9 zlib-1.2.7 (apr,apr ...

  9. WEB服务器3--IIS7.0安装和配置

    安装Web服务器(IIS) 点击开始菜单->所有程序->管理工具->服务器管理器,启动服务器管理器,界面如下: 在服务器管理器中,选择角色,你将可以看到角色总视图. 点击添加角色,会 ...

  10. NET基础课--Linq第一讲

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前,在声明一个变量的时候, 总是要为一个变量指定他的类型甚至在foreach一 ...