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 动态添加表格行 使用模板、标记
Oct 24 Javascript
js创建子窗口并且回传值示例代码
Jul 02 Javascript
获取中文字符串的实际长度代码
Jun 05 Javascript
jQuery中document与window以及load与ready 区别详解
Dec 29 Javascript
jQuery的框架介绍
May 11 Javascript
用js读写cookie的简单方法(推荐)
Aug 08 Javascript
JS 调用微信扫一扫功能
Dec 22 Javascript
微信小程序 chooseImage选择图片或者拍照
Apr 07 Javascript
深入理解Javascript中的作用域链和闭包
Apr 25 Javascript
js表单序列化判断空值的实例
Sep 22 Javascript
通过Kettle自定义jar包供javascript使用
Jan 29 Javascript
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
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设置允许大文件上传示例代码
2014/03/10 PHP
php分页函数完整实例代码
2014/09/22 PHP
php rsa加密解密使用详解
2015/01/14 PHP
Javascript中的变量使用说明
2010/05/18 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
python实现查询苹果手机维修进度
2015/03/16 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
基于python中theano库的线性回归
2018/08/31 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Python 变量的创建过程详解
2019/09/02 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
MYSQL基础面试题
2012/05/13 面试题
大学学年自我鉴定
2013/10/28 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
2014年技术部工作总结
2014/12/12 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
放假通知格式
2015/04/14 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
创业计划书之网吧
2019/10/10 职场文书