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 相关文章推荐
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
javascript 动态调整图片尺寸实现代码
Dec 28 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 Javascript
jQuery控制输入框只能输入数值的小例子
Mar 20 Javascript
select多选 multiple的使用示例
Jun 16 Javascript
jQuery无刷新切换主题皮肤实例讲解
Oct 21 Javascript
javascript中数组和字符串的方法对比
Jul 20 Javascript
Angular.JS中select下拉框设置value的方法
Jun 20 Javascript
JS实现带动画的回到顶部效果
Dec 28 Javascript
微信小程序progress组件使用详解
Jan 31 Javascript
React Native基础入门之调试React Native应用的一小步
Jul 02 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 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
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
详解Django中间件执行顺序
2018/07/16 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
python3实现mysql导出excel的方法
2019/07/31 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
经典优秀个人求职自荐信格式
2013/09/25 职场文书
高级文秘工作总结的自我评价
2013/09/28 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
搞笑婚前保证书
2015/02/28 职场文书
工程质量保证书
2015/05/09 职场文书
毕业证明书
2015/06/19 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python