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 相关文章推荐
(function(){})()的用法与优点
Mar 11 Javascript
IE iframe的onload方法分析小结
Jan 07 Javascript
JSON.stringify 语法实例讲解
Mar 14 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 Javascript
js省市县三级联动效果实例
Apr 15 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
Jan 04 Javascript
深入理解node.js之path模块
May 03 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
Mar 08 Javascript
微信小程序实现banner图轮播效果
Jun 28 Javascript
JavaScript 空间坐标的使用
Aug 19 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
Nov 06 Javascript
JS数组方法some、every和find的使用详情
Oct 05 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
php pthreads多线程的安装与使用
2016/01/19 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
如何提高数据访问速度
2016/12/26 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
Python中常用的内置方法
2019/01/28 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
2019年分享net面试的经历和题目
2016/08/07 面试题
运动会解说词200字
2014/02/06 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
会计求职自荐信
2014/06/20 职场文书
股份合作协议书
2014/09/10 职场文书
拆迁委托协议书
2014/09/15 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
教师个人教学总结
2015/02/11 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers