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 相关文章推荐
返回对象在当前级别中是第几个元素的实现代码
Jan 20 Javascript
js汉字转拼音实现代码
Feb 06 Javascript
基于jQuery实现文本框缩放以及上下移动功能
Nov 24 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
原生js+cookie实现购物车功能的方法分析
Dec 21 Javascript
浅谈JS对象添加getter与setter的5种方法
Jun 09 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
Jun 12 Javascript
详解小程序如何动态绑定点击的执行方法
Nov 26 Javascript
基于vue实现图片验证码倒计时60s功能
Dec 10 Javascript
vue 实现动态路由的方法
Jul 06 Javascript
JSON 入门教程基础篇 json入门学习笔记
Sep 22 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自动反斜杠的函数代码
2010/01/05 PHP
深入理解PHP原理之异常机制
2010/08/21 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
JavaScript中window.open用法实例详解
2015/04/15 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
异常和异常类的概念
2014/09/12 面试题
编程实现去掉XML的重复结点
2014/05/28 面试题
《长城》教学反思
2014/02/14 职场文书
管理建议书范文
2014/05/13 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
辞职离别感言
2015/08/04 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
PHP正则表达式之RCEService回溯
2022/04/11 PHP
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL