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 25 Javascript
JavaScript类和继承 prototype属性
Sep 03 Javascript
Jquery中删除元素的实现代码
Dec 29 Javascript
鼠标拖动实现DIV排序示例代码
Oct 14 Javascript
JavaScript电子时钟倒计时
Jan 09 Javascript
javascript每日必学之基础入门
Feb 16 Javascript
微信小程序  modal详解及实例代码
Nov 09 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
Aug 02 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
Sep 04 Javascript
JavaScript 跨域之POST实现方法
May 07 Javascript
Three.JS实现三维场景
Dec 30 Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
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
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
详解PHP归并排序的实现
2016/10/18 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
Javascript开发包大全整理
2006/12/22 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
Python中进程和线程的区别详解
2017/10/29 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
卫生院健康教育实施方案
2014/06/07 职场文书
研究生导师评语
2014/12/31 职场文书
人事局接收函
2015/01/30 职场文书
2015年采购工作总结
2015/04/10 职场文书
车间统计员岗位职责
2015/04/14 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
信仰纪录片观后感
2015/06/08 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
oracle重置序列从0开始递增1
2022/02/28 Oracle