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操作ACCESS数据库(读增改删)的代码
May 14 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
Oct 11 Javascript
JS命名空间的另一种实现
Aug 09 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
Sublime Text 3常用插件及安装方法
Dec 16 Javascript
Bootstrap表单布局
Jul 19 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
Nov 10 Javascript
使用axios实现上传图片进度条功能
Dec 21 Javascript
JS动画定时器知识总结
Mar 23 Javascript
Vue 中axios配置实例详解
Jul 27 Javascript
angular4应用中输入的最小值和最大值的方法
May 17 Javascript
js判断非127开头的IP地址的实例代码
Jan 05 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
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
Javascript的匿名函数小结
2009/12/31 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
用python制作个音乐下载器
2021/01/30 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
经理管理专业毕业自荐书范文
2014/02/12 职场文书
安全生产专项整治方案
2014/05/06 职场文书
活动总结书
2014/05/08 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
员工旷工检讨书
2015/08/15 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书