Javascript的URL处理

Javascript的URL处理:

1,UrlUtil.js

function UrlUtil() { }; /// <summary> /// Url帮助函数库 /// </summary> UrlUtil.getURLParameters = function() { /// <summary> /// alert显示参数 /// </summary> var sURL = window.document.URL.toString(); if (sURL.indexOf("?") > 0) { var arrParams = sURL.split("?"); var arrURLParams = arrParams[1].split("&"); var arrParamNames = new Array(arrURLParams.length); var arrParamValues = new Array(arrURLParams.length); var i = 0; for (i = 0; i < arrURLParams.length; i++) { var sParam = arrURLParams[i].split("="); arrParamNames[i] = sParam[0]; if (sParam[1] != "") arrParamValues[i] = unescape(sParam[1]); else arrParamValues[i] = "No Value"; } for (i = 0; i < arrURLParams.length; i++) { alert(arrParamNames[i] + " = " + arrParamValues[i]); } } else { alert("No parameters."); } }; /** * Add a parameter to the url */ UrlUtil.addParameter = function(href, name, value) { ///<summary> ///添加参数,若是更改,请先移除再添加之 ///</summary> var delimiter; if (href.indexOf("?") == -1) delimiter = "?"; else delimiter = "&"; return href + delimiter + name + "=" + value; }; /** * remove the parameter from an url */ UrlUtil.removeParameter = function(href, name) { ///<summary> ///移除参数,works only for a single paramter ///</summary> var tmp = href.split("?"); var newHref = tmp[0]; var query = new Array(); if (tmp[1]) { var paramObj = tmp[1].split("&"); for (var i = 0; i < paramObj.length; i++) { if (paramObj[i].indexOf(name + "=") != 0) { query.push(paramObj[i]); } } } if (query.length > 0) { newHref += "?"; for (var i = 0; i < query.length; i++) { newHref += query[i]; if (i + 1 < query.length) { newHref += "&"; } } } return newHref; }; /** * Is this an external URL containing :// */ UrlUtil.isExternal = function(url) { ///<summary> ///Url是否包含"://"符号串 ///</summary> return url.indexOf("://") != -1; };

 

2,调用:

<mce:script type="text/javascript" language="javascript"><!-- //UrlUtil.getURLParameters(); /* var url = window.location.href; var url_new1 = UrlUtil.addParameter(url, 'Pkid', 1009); alert(url_new1); var url_new2 = UrlUtil.removeParameter(url_new1, 'Pkid'); alert(url_new2); var url_new44 = UrlUtil.removeParameter(url_new1, 'Pkidddd'); alert(url_new44); var url_new3 = UrlUtil.addParameter(url_new2, 'Pkid', 1876); alert(url_new3); */ //alert(window.document.URL); //alert(location.href); // --></mce:script>

 

3,访问参数各种不完全的情况:

http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm 没有参数 http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm? =undefined http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm?key1 key1=undefined http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm?key1= key1=NoValue http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm?key1=3 key1=3 http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm?key1=3& key1=3 =undefined http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm?key1=3&key2 key1=3 key2=undefined http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm?key1=3&key2= key1=3 key2=NoValue http://localhost:1206/WebSite_Url_Login/HTMLPage3.htm?key1=3&key2=55 key1=3 key2=55

 

4,window.document.URL与location.href的区别:

document.URL是访问的文档URL,而window.location.href是真实的文档URL
服务器重定向后有可能使document.url变动,但window.location.href指的永远是访问该网页时用的URL.
document.URL 只读,location.href 可写

 

 

 

 

转载于:https://www.cnblogs.com/TangZhongxin/archive/2009/03/22/3942611.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值