js获取网页的url文件名( 例如index.aspx),js获取url的参数(例如获取 ?cid=joeylee的值),给jquery拓展方法
<script type="text/javascript"> var JsRequest={ //这就是一个静态类,类里面有2个静态方法 //方法一:获取url的文件名 例如 index.html getUrlname:function(url){ //假如传进来的url是 http://www.qq.com/index.html?name=joey 这里一共是有3个斜杠,如果我们想获取index.html url=url.split('?')[0] ;// 我们只要?号前的 var urlSlashCount=url.split('/').length; // 统计有3斜杠 return url.split('/')[urlSlashCount-1].toLowerCase(); //获取数组最后一个 }, //方法二:获取url里面的参数 我们传递一个 getUrlParam("cid",window.location.search) 就能拿到cid的值 //注意 假如一个网页的地址是 index.html?cid=joeylee 那么 他的window.location.search 是从?号开始的 即 ?cid=joeylee 这一串 getUrlParam:function(name,url){ if(!url){ url=window.location.search; } var searurl=new String(url); console.log(searurl); var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r =searurl.substr(1).match(reg); //匹配目标参数 if (r!=null) return unescape(r[2]); return null; //返回参数值 } } var url = JsRequest.getUrlname( window.location.href); alert("原生方法获取到的url的名称是"+url); var cid=JsRequest.getUrlParam("cid"); alert("原生方法获取到的cid的名称是"+cid); (function($){ $.getUrl=JsRequest; //将JsRequest添加为Jquery的扩展方法 ,方法名称为 getUrl 然后这个方法实际是包含了2个子方法的 })(jQuery); var u=$.getUrl.getUrlname( window.location.href); alert("Jquery拓展方法获取到的url的名称是"+u); var d=$.getUrl.getUrlParam("cid"); alert("Jquery拓展方法获取到的cid的值是:"+d); </script>
注意:这里
(function($){
$.getUrl=JsRequest; //将JsRequest添加为Jquery的扩展方法 ,方法名称为 getUrl 然后这个方法实际是包含了2个子方法的
})(jQuery);
是指给 jquery添加一个拓展方法,并且立即生效