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 相关文章推荐
前端开发过程中浏览器版本的两种判定方法
Oct 30 Javascript
JavaScript中document对象使用详解
Jan 06 Javascript
基于JavaScript实现随机颜色输入框
Dec 10 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
Mar 13 Javascript
基于Vue过渡状态实例讲解
Sep 14 Javascript
浅谈vue路径优化之resolve
Oct 13 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
js实现鼠标拖拽缩放div实例代码
Mar 25 Javascript
jQuery实现聊天对话框
Feb 08 jQuery
小程序中使用css var变量(使js可以动态设置css样式属性)
Mar 31 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 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
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
Python 流程控制实例代码
2009/09/25 Python
深入了解Python数据类型之列表
2016/06/24 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
班主任寄语大全
2014/04/04 职场文书
实习介绍信模板
2015/01/30 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS