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 Zifa FormValid 0.1表单验证 代码打包下载
Jun 08 Javascript
jQuery基础语法实例入门
Dec 23 Javascript
AngularJs实现ng1.3+表单验证
Dec 10 Javascript
JavaScript数据结构与算法之链表
Jan 29 Javascript
jQuery each函数源码分析
May 25 Javascript
详细谈谈AngularJS的子级作用域问题
Sep 05 Javascript
浅谈Express异步进化史
Sep 09 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
Jan 30 Javascript
layui lay-verify form表单自定义验证规则详解
Sep 18 Javascript
使用Layui搭建后台管理界面的操作方法
Sep 20 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 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
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
python多线程http下载实现示例
2013/12/30 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
在Django的通用视图中处理Context的方法
2015/07/21 Python
详解python基础之while循环及if判断
2017/08/24 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
深入解析神经网络从原理到实现
2019/07/26 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
Ado与Ado.net的相同与不同
2014/12/08 面试题
J2EE模式面试题
2016/10/11 面试题
硕士研究生自我鉴定
2013/11/08 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
责任担保书范文
2014/05/21 职场文书
个人作风建设总结
2014/10/23 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
最美乡村教师观后感
2015/06/11 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
Python关于OS文件目录处理的实例分享
2021/05/23 Python