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 相关文章推荐
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
js时钟翻牌效果实现代码分享
Jul 31 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
Nov 25 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
BootStrap Fileinput初始化时的一些参数
Dec 30 Javascript
Three.js基础部分学习
Jan 08 Javascript
ES6学习教程之对象字面量详解
Oct 09 Javascript
vue通过style或者class改变样式的实例代码
Oct 30 Javascript
每周一练 之 数据结构与算法(Stack)
Apr 16 Javascript
基于JavaScript伪随机正态分布代码实例
Nov 07 Javascript
详解一些适用于Node.js的命名约定
Dec 08 Javascript
vue实现评价星星功能
Jun 30 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
Oracle 常见问题解答
2006/10/09 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
在python中的socket模块使用代理实例
2014/05/29 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Python中的Cookie模块如何使用
2020/06/04 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
九年级体育教学反思
2014/01/23 职场文书
学生评语大全
2014/04/18 职场文书
关于责任的演讲稿
2014/05/20 职场文书
司机岗位职责说明书
2014/07/29 职场文书
干部考核工作总结
2015/08/12 职场文书
外出学习心得体会范文
2016/01/18 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
为什么不建议在go项目中使用init()
2021/04/12 Golang
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python