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居然支持中文(unicode)编程!
Apr 12 Javascript
js 加载时自动调整图片大小
May 28 Javascript
JavaScript中的isXX系列是否继续使用的分析
Apr 16 Javascript
javascript实现保留两位小数的多种方法
Dec 18 Javascript
基于canvas实现的钟摆效果完整实例
Jan 26 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
Mar 25 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
Sep 19 Javascript
javascript+css3开发打气球小游戏完整代码
Nov 28 Javascript
vue form表单post请求结合Servlet实现文件上传功能
Jan 22 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
php防攻击代码升级版
2010/12/29 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
javascript函数库-集合框架
2007/04/27 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
详解js闭包
2014/09/02 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
JS动态图片的实现方法完整示例
2020/01/13 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
python如何查看网页代码
2020/06/07 Python
django跳转页面传参的实现
2020/09/17 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
关于廉洁的广播稿
2014/01/30 职场文书
超市中秋节促销方案
2014/03/21 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
党的群众路线学习材料
2014/05/16 职场文书
计算机专业求职信
2014/06/02 职场文书
素质教育标语
2014/06/27 职场文书
迎国庆演讲稿
2014/09/05 职场文书
信仰观后感
2015/06/03 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书