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代码
Aug 05 Javascript
javascript权威指南 学习笔记之变量作用域分享
Sep 28 Javascript
封装了一个js图片轮换效果的函数
Sep 28 Javascript
探索Emberjs制作一个简单的Todo应用
Nov 07 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
jQuery获取当前对象标签名称的方法
Feb 07 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 Javascript
JavaScript实战之带收放动画效果的导航菜单
Aug 16 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
Mar 04 Javascript
ES6中Class类的静态方法实例小结
Oct 28 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 jQuery
深入浅出了解Node.js Streams
May 27 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分页类的代码
2011/05/18 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python中实现三目运算的方法
2015/06/21 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
OpenCV 模板匹配
2019/07/10 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
python palywright库基本使用
2021/01/21 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
项目建议书范文
2014/05/12 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
承诺函范文
2015/01/21 职场文书
超市员工管理制度
2015/08/06 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫