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 相关文章推荐
一个多次搜索+多次传值的解决方案
Jan 20 Javascript
javascript判断用户浏览器插件安装情况的代码
Jan 01 Javascript
各种页面定时跳转(倒计时跳转)代码总结
Oct 24 Javascript
javascript中打印当前的时间实现思路及代码
Dec 18 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
Mar 28 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
May 03 Javascript
javascript流程控制语句集合
Sep 18 Javascript
vue双花括号的使用方法 附练习题
Nov 07 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
Nov 24 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
ionic2.0双击返回键退出应用
Sep 17 Javascript
nestjs返回给前端数据格式的封装实现
Feb 22 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+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
php array_map()函数实例用法
2021/03/03 PHP
IE 当eval遇上function的处理
2011/08/09 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
python 域名分析工具实现代码
2009/07/15 Python
让Python更加充分的使用Sqlite3
2017/12/11 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
使用python实现kNN分类算法
2019/10/16 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
python中np是做什么的
2020/07/21 Python
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
课外科技活动总结
2014/08/27 职场文书
2016年十一促销广告语
2016/01/28 职场文书
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript