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 相关文章推荐
学习ExtJS form布局
Oct 08 Javascript
网页图片延时加载的js代码
Apr 22 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
Jul 20 Javascript
express的中间件cookieParser详解
Dec 04 Javascript
JavaScript类型系统之布尔Boolean类型详解
Jun 26 Javascript
jQuery为动态生成的select元素添加事件的方法
Aug 29 Javascript
基于JavaScript实现自动更新倒计时效果
Dec 19 Javascript
原生JS实现不断变化的标签
May 22 Javascript
js CSS3实现卡牌旋转切换效果
Jul 04 Javascript
判断div滑动到底部的scroll实例代码
Nov 15 Javascript
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 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
简单易用的计数器(数据库)
2006/10/09 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
Python标准库defaultdict模块使用示例
2015/04/28 Python
Python中的super用法详解
2015/05/28 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
浅析python标准库中的glob
2020/03/13 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
使用Python实现音频双通道分离
2020/12/25 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
C#笔试题
2015/07/14 面试题
传播学毕业生求职信
2013/10/11 职场文书
个人合作协议书范本
2014/04/18 职场文书
环保倡议书50字
2014/05/15 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
党员自我评价范文2015
2015/03/03 职场文书
公司规章制度范本
2015/08/03 职场文书