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 相关文章推荐
javascript之卸载鼠标事件的代码
May 14 Javascript
js chrome浏览器判断代码
Mar 28 Javascript
再谈querySelector和querySelectorAll的区别与联系
Apr 20 Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 Javascript
javascript编码的几个方法详细介绍
Jan 06 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 Javascript
yarn与npm的命令行小结
Oct 20 Javascript
jQuery Ajax请求后台数据并在前台接收
Dec 10 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 Javascript
vue中的 $slot 获取插槽的节点实例
Nov 12 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编写和读取XML的几种方式
2013/01/12 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
php7下的filesize函数
2019/09/30 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
js保存当前路径(cookies记录)
2010/12/14 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
使用python统计文件行数示例分享
2014/02/21 Python
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
平民服装店创业计划书
2014/01/17 职场文书
批评与自我批评范文
2014/10/15 职场文书
社区党建工作总结2015
2015/05/13 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python