JS自定义功能函数实现动态添加网址参数修改网址参数值


Posted in Javascript onAugust 02, 2013

无论是前端开发还是后台设计,很多时候开发人员都需要获取当前或目标网址的相关信息。这个已有现成的内置对象属性可以直接调用了(下面是获取当前页面的参考代码)

<script type="text/javascript"> 
thisURL = document.URL; 
thisHREF = document.location.href; 
thisSLoc = self.location.href; 
thisDLoc = document.location; 
strwrite = " thisURL: [" + thisURL + "]<br>" 
strwrite += " thisHREF: [" + thisHREF + "]<br>" 
strwrite += " thisSLoc: [" + thisSLoc + "]<br>" 
strwrite += " thisDLoc: [" + thisDLoc + "]<br>" 
document.write( strwrite ); 
</script>

但有时候我们需要改变目前网址的参数/参数值,这时候大家会如何处理呢?一般应该都会先通过获取所有参数的信息,然后再根据实际需求来对某一参数进行修改。没错!根据这一原理,今天就给大家分享一下个人在开发中封装的功能函数。
//=============== 改变网址的参数值 ================
function ChangeURLParm(Turl,Parm,PValue,ClearParm){ 
//Turl: 网址 
//Parm: 参数 
//PValue: 参数值 
//ClearParm: 要清除的参数 
var URL,Parms,ParmsArr,IsExist; 
var NewURL = Turl;//window.location.href 
IsExist = false; 
with(Turl){ 
if(indexOf('?')>0){ 
URL = substr(0,indexOf('?'));//不包含参数 
Parms = substr(indexOf('?')+1,length);//参数 
} 
else{ 
URL = Turl; 
Parms = ''; 
} 
} 
if (Parms!=''){ 
var i; 
ParmsArr = Parms.split("&"); 
for(i=0;i<=ParmsArr.length-1;i++){ 
if (String(Parm).toUpperCase()==String(ParmsArr[i].split("=")[0]).toUpperCase()){//原来有参数Parm则改变其值 
ParmsArr[i] = Parm + "=" + PValue; 
IsExist = true; 
if (String(ClearParm) ==""){ 
break; 
} 
} 
else if ( (String(ClearParm)!="") && (String(ClearParm).toUpperCase()==String(ParmsArr[i].split("=")[0])).toUpperCase() ){//去掉参数ClearParm的值 
ParmsArr[i] = ClearParm + "="; 
} 
} for(i=0;i<=ParmsArr.length-1;i++){ 
if(i==0){ 
Parms = ParmsArr[i]; 
} 
else{ 
Parms = Parms + "&" + ParmsArr[i]; 
} 
} 
NewURL = URL + "?" + Parms; 
if (!IsExist){ 
NewURL = NewURL + "&" + Parm + "=" + PValue; 
} 
} 
else{ 
NewURL = URL + "?" + Parm + "=" + PValue; 
} 
return NewURL; 
}

其实这功能在实际应用中很好使,在分页跳转、多条件查询搜索等功能中尤为突出。
Javascript 相关文章推荐
Extjs列表详细信息窗口新建后自动加载解决方法
Apr 02 Javascript
autoIMG 基于jquery的图片自适应插件代码
Mar 12 Javascript
JavaScript 用Node.js写Shell脚本[译]
Sep 20 Javascript
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
Sep 01 Javascript
浅谈JS原型对象和原型链
Mar 02 Javascript
深入浅析JavaScript中的constructor
Apr 19 Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 Javascript
vue移动端实现红包雨效果
Jun 23 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
JavaScript实现横版菜单栏
Mar 17 Javascript
jQuery function的正确书写方法
Aug 02 #Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 #Javascript
js 固定悬浮效果实现思路代码
Aug 02 #Javascript
仿新浪微博登陆邮箱提示效果的js代码
Aug 02 #Javascript
页面右下角弹出提示框示例代码js版
Aug 02 #Javascript
js获取IP和PcName(IE)在vs中可用
Aug 02 #Javascript
js获取location.href的参数实例代码
Aug 02 #Javascript
You might like
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
Python实现的文本编辑器功能示例
2017/06/30 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
python hook监听事件详解
2018/10/25 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
Python必须了解的35个关键词
2020/07/16 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
推广普通话主题班会
2015/08/17 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技