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 相关文章推荐
关于Jquery操作Cookie取值错误的解决方法
Aug 26 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
Feb 26 Javascript
JavaScript中Cookies的相关使用教程
Jun 04 Javascript
逻辑表达式中与或非的用法详解
Jun 06 Javascript
echarts3 使用总结(绘制各种图表,地图)
Jan 05 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
Feb 27 Javascript
JavaScript适配器模式详解
Oct 19 Javascript
vue实现商城上货组件简易版
Nov 27 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 Javascript
js根据后缀判断文件文件类型的代码
May 09 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中$_SERVER的详细参数与说明
2008/07/29 PHP
php 什么是PEAR?(第三篇)
2009/03/19 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
Yii2中datetime类的使用
2016/12/17 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
实例分析浏览器中“JavaScript解析器”的工作原理
2016/12/12 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
angular4自定义组件详解
2017/09/28 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python函数中定义参数的四种方式
2014/11/30 Python
Python常用算法学习基础教程
2017/04/13 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
python3 logging日志封装实例
2020/04/08 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
DTD的含义以及作用
2014/01/26 面试题
2014年高一班主任工作总结
2014/12/05 职场文书
经验交流材料格式
2014/12/30 职场文书
满月酒邀请函
2015/01/30 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
MySQL数据库 安全管理
2022/05/06 MySQL