JavaScript操作URL的相关内容集锦


Posted in Javascript onOctober 29, 2015

---恢复内容开始---

1.location.href.....

(1)self.loction.href="http://www.cnblogs.com/url"
       window.location.href="http://www.cnblogs.com/url"    以上两个用法相同均为在当前页面打开URL页面
(2)this.location.href="http://www.cnblogs.com/url"    当前页面打开URL
(3) parent.location.href="http://www.cnblogs.com/url"   在父页面打开新页面,如果页面中自定义了frame,那么可将parent self top换为自定义frame的名称,效果是在frame窗口打开url地址
(4) top.location.href="http://www.cnblogs.com/url"   在顶层页面打开新页面

2. 关于刷新页面

 (1)window.location.href=http://www.cnblogs.com/nana-share/p/window.location.href
 (2)window.location.Reload()
    都是刷新当前页面。区别在于是否有提交数据。当有提交数据时,window.location.Reload()会提示是否提交,window.location.href=http://www.cnblogs.com/nana-share/p/window.location.href;则是向指定的url提交数据

3.

 (1)第一段为实际在用的

function getURLParameter(name)
 {2 3  

 return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/\+/g, '%20')) || null; //构造一个含有目标参数的正则表达式对象4 5 
}

//获取url中的参数2     
function getUrlParam(name)
{3      
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象4      
var r = window.location.search.substr(1).match(reg); //匹配目标参数5      
if (r != null) return unescape(r[2]); return null; //返回参数值6    
}

  例如像获取下面链接的邮箱

http://agent/index.php/Home/Login/getpwd_check_email?code=824790&to=1321136493@qq.com

var mail = getURLParameter('to');

---恢复内容结束---

下面再来看一下js操作url的代码

代码很简单,主要一个思路是把url参数解析为js对象,再做增、删、改、查操作就很方便了~,这里做笔记。

var LG=(function(lg){
  var objURL=function(url){
    this.ourl=url||window.location.href;
    this.href="";//?前面部分
    this.params={};//url参数对象
    this.jing="";//#及后面部分
    this.init();
  }
  //分析url,得到?前面存入this.href,参数解析为this.params对象,#号及后面存入this.jing
  objURL.prototype.init=function(){
    var str=this.ourl;
    var index=str.indexOf("#");
    if(index>0){
      this.jing=str.substr(index);
      str=str.substring(0,index);
    }
    index=str.indexOf("?");
    if(index>0){
      this.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("=");
        this.params[kv[0]]=kv[1];
      }
    }
    else{
      this.href=this.ourl;
      this.params={};
    }
  }
  //只是修改this.params
  objURL.prototype.set=function(key,val){
    this.params[key]=val;
  }
  //只是设置this.params
  objURL.prototype.remove=function(key){
    this.params[key]=undefined;
  }
  //根据三部分组成操作后的url
  objURL.prototype.url=function(){
    var strurl=this.href;
    var objps=[];//这里用数组组织,再做join操作
    for(var k in this.params){
      if(this.params[k]){
        objps.push(k+"="+this.params[k]);
      }
    }
    if(objps.length>0){
      strurl+="?"+objps.join("&");
    }
    if(this.jing.length>0){
      strurl+=this.jing;
    }
    return strurl;
  }
  //得到参数值
  objURL.prototype.get=function(key){
    return this.params[key];
  }  
  lg.URL=objURL;
  return lg;
}(LG||{}));

LG只是我个人共同JS的名称空间,无他。调用:

var myurl=new LG.URL("http://www.baidu.com?a=1");
  myurl.set("b","hello"); //添加了b=hello
  alert (myurl.url());
  myurl.remove("b"); //删除了b
  alert(myurl.get ("a"));//取参数a的值,这里得到1
  myurl.set("a",23); //修改a的值为23
  alert (myurl.url());
Javascript 相关文章推荐
javascript 面向对象思想 附源码
Jul 07 Javascript
jQuery 技巧小结
Apr 02 Javascript
js获取客户端网卡的IP地址、MAC地址
Mar 26 Javascript
js获取form表单所有数据的简单方法
Aug 18 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
Oct 21 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
Feb 15 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
js实现前端图片上传即时预览功能
Aug 02 Javascript
基于js的变量提升和函数提升(详解)
Sep 17 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
函数式编程入门实践(一)
Apr 20 Javascript
深入理解 JS 垃圾回收
Jun 03 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
Oct 29 #Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
Oct 28 #Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
Oct 28 #Javascript
自己动手写的jquery分页控件(非常简单实用)
Oct 28 #Javascript
Jquery日历插件制作简单日历
Oct 28 #Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 #Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 #Javascript
You might like
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
PHP中imagick函数的中文解释
2015/01/21 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
python mysql断开重连的实现方法
2019/07/26 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
python中upper是做什么用的
2020/07/20 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
应聘自荐书
2013/10/08 职场文书
中学生期末评语
2014/02/03 职场文书
《故乡》教学反思
2014/04/10 职场文书
对祖国的寄语大全
2014/04/11 职场文书
工作失职检讨书500字
2014/10/17 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
《观察物体》教学反思
2016/02/17 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
Python经常使用的一些内置函数
2022/04/11 Python
MySQL创建管理RANGE分区
2022/04/13 MySQL
Java Spring读取和存储详细操作
2022/08/05 Java/Android