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 相关文章推荐
High Performance JavaScript(高性能JavaScript)读书笔记分析
May 05 Javascript
关于js类的定义
Jun 28 Javascript
JavaScript修改浏览器tab标题小技巧
Jan 06 Javascript
js实现兼容IE和FF的上下层的移动
May 04 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
jQuery unbind()方法实例详解
Jan 19 Javascript
JS弹出窗口插件zDialog简单用法示例
Jun 12 Javascript
jQuery 如何实现一个滑动按钮开关
Dec 01 Javascript
详解Vue中过度动画效果应用
May 25 Javascript
vue中过滤器filter的讲解
Jan 21 Javascript
深入了解JavaScript词法作用域
Jul 29 Javascript
微信小程序实现多行文字滚动
Nov 18 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
玛琪朵 Macchiato
2021/03/03 咖啡文化
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
Python二维码生成识别实例详解
2019/07/16 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
JSP&Servlet技术面试题
2015/05/21 面试题
大专毕业生自我评价分享
2013/11/10 职场文书
中国梦口号
2014/06/13 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android