Javascript操作URL函数修改版


Posted in Javascript onNovember 07, 2013

总结了一些方法,把它压缩成了一个函数对象,只有几十行代码,使用方法简单明了
存为ojbUrl.js

/* 
说明:本代码可自由复制修改并且使用,但请保留作者信息!
Author: Kevin  WebSite: http://iulog.com/  QQ:251378427
JS 操作 URL 函数使用说明:
初始化 var myurl=new objURL(); //也可以自定义URL: var myurl=new objURL('https://3water.com'); 
读取url参数值 var val=myurl.get('abc'); // 读取参数abc的值
设置url参数 myurl.set("arg",data); // 新增/修改 一个arg参数的值为data
移除url参数 myurl.remove("arg"); //移除arg参数
获取处理后的URL myurl.url();//一般就直接执行转跳 location.href=myurl.url();
调试接口:myurl.debug(); //修改该函数进行调试
 */
function objURL(url){
 var ourl=url||window.location.href;
 var href="";//?前面部分
 var params={};//url参数对象
 var jing="";//#及后面部分
 var init=function(){
  var str=ourl;
  var index=str.indexOf("#");
  if(index>0){
   jing=str.substr(index);
   str=str.substring(0,index);
  }
  index=str.indexOf("?");
  if(index>0){
   href=str.substring(0,index);
   str=str.substr(index+1);
   var parts=str.split("&");
   for(var i=0;i<parts.length;i++){
    var kv=parts[i].split("=");
    params[kv[0]]=kv[1];
   }
  }else{
   href=ourl;
   params={};
  }
 };
 this.set=function(key,val){
  params[key]=encodeURIComponent(val);
 };
 this.remove=function(key){
  if(key in params) params[key]=undefined;
 };
 this.get=function(key){
  return params[key];
 };
 this.url=function(key){
  var strurl=href;
        var objps=[];
        for(var k in params){
            if(params[k]){
                objps.push(k+"="+params[k]);
            }
        }
        if(objps.length>0){
            strurl+="?"+objps.join("&");
        }
        if(jing.length>0){
            strurl+=jing;
        }
        return strurl;
 };
 this.debug=function(){
  // 以下调试代码自由设置
  var objps=[];
  for(var k in params){
   objps.push(k+"="+params[k]);
  }
  alert(objps);//输出params的所有值
 };
 init();
}调用方法
JS 操作 URL 函数使用说明:
[code]
var myurl=new objURL(); //初始化。也可以自定义URL: var myurl=new objURL('https://3water.com''); 
var val=myurl.get('abc'); // 读取参数abc的值
myurl.set("arg",data); // 新增/修改 一个arg参数的值为data
myurl.remove("arg"); //移除arg参数
myurl.url();//获取处理后的URL , 一般就直接执行转跳: location.href=myurl.url();
myurl.debug(); //这是调试接口。修改该函数方法进行调试
Javascript 相关文章推荐
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
Aug 09 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
Feb 02 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
Oct 15 Javascript
AngularJS入门教程之表格实例详解
Jul 27 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
原生js实现吸顶效果
Mar 13 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
Jan 12 Javascript
详解Vue.js中.native修饰符
Apr 24 Javascript
详解JavaScript中的链式调用
Nov 27 Javascript
vue-element-admin项目导入和导出的实现
May 21 Vue.js
js字符串转成JSON
Nov 07 #Javascript
jQuery javaScript捕获回车事件(示例代码)
Nov 07 #Javascript
使用JavaScript实现Java的List功能(实例讲解)
Nov 07 #Javascript
javascript获取所有同类checkbox选项(实例代码)
Nov 07 #Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 #Javascript
网页防止tab键的使用快速解决方法
Nov 07 #Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
Nov 07 #Javascript
You might like
人大复印资料处理程序_输入篇
2006/10/09 PHP
php的curl实现get和post的代码
2008/08/23 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
Vue实现购物车功能
2017/04/27 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
Python中操作符重载用法分析
2016/04/29 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
python实现简单遗传算法
2020/09/18 Python
商务日语专业毕业生求职信
2013/10/26 职场文书
大学生毕业自我鉴定范文
2013/11/03 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
青年文明号汇报材料
2014/12/23 职场文书
班级管理经验交流材料
2015/11/02 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书