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 相关文章推荐
用cssText批量修改样式
Aug 29 Javascript
javascript 多浏览器 事件大全
Mar 23 Javascript
js获取指定的cookie的具体实现
Feb 20 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
Jan 23 Javascript
让div运动起来 js实现缓动效果
Jul 06 Javascript
jQuery插件Validation表单验证详解
May 26 jQuery
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
Aug 29 Javascript
es6中reduce的基本使用方法
Sep 10 Javascript
JS实现随机抽取三人
Nov 06 Javascript
vue 实现websocket发送消息并实时接收消息
Dec 09 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 配置文件中open_basedir选项作用
2009/07/19 PHP
PHP 防恶意刷新实现代码
2010/05/16 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
jquery选择器简述
2015/08/31 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
python3.6实现学生信息管理系统
2019/02/21 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python实现在线翻译
2020/06/18 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
数控专业毕业生自荐信范文
2014/03/04 职场文书
求职简历自荐信
2014/06/18 职场文书
2014年法院工作总结
2014/11/24 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
房贷工资证明范本
2015/06/12 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android