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 相关文章推荐
用JS判断IE版本的代码 超管用!
Aug 09 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
JavaScript中函数(Function)的apply与call理解
Jul 08 Javascript
JQuery控制DIV的选取实现方法
Sep 18 Javascript
js判断是否为空和typeof的用法(详解)
Oct 07 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
Feb 09 Javascript
JS 实现分页打印功能
May 16 Javascript
你应该了解的JavaScript Array.map()五种用途小结
Nov 14 Javascript
微信小程序如何刷新当前界面的实现方法
Jun 07 Javascript
vantUI 获得piker选中值的自定义ID操作
Nov 04 Javascript
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
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
javascript设计模式 接口介绍
2012/07/24 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
react redux入门示例
2018/04/19 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
Python入门之后再看点什么好?
2018/03/05 Python
python监控文件并且发送告警邮件
2018/06/21 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
python三引号输出方法
2019/02/27 Python
pycharm 安装JPype的教程
2019/08/08 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
趣味运动会活动方案
2014/02/12 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
药店促销活动总结
2014/07/10 职场文书
踏青活动策划方案
2014/08/19 职场文书
会议通知范文
2015/04/15 职场文书
走进科学观后感
2015/06/18 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL
python解析json数据
2022/04/29 Python
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android