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入门之对象与JSON详解
Oct 21 Javascript
判断某个字符在一个字符串中是否存在的js代码
Feb 28 Javascript
javascript的解析执行顺序在各个浏览器中的不同
Mar 17 Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 Javascript
jQuery中delegate()方法的用法详解
Oct 13 Javascript
layer实现弹窗提交信息
Dec 12 Javascript
angularjs使用directive实现分页组件的示例
Feb 07 Javascript
Javascript继承机制详解
May 30 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
JS学习笔记之原型链和利用原型实现继承详解
May 29 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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中的一些数组排序方法分享
2012/07/20 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
用Python解决计数原理问题的方法
2016/08/04 Python
Python下载网络小说实例代码
2018/02/03 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
解决django FileFIELD的编码问题
2020/03/30 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
九年级科学教学反思
2014/01/29 职场文书
先进班集体申报材料
2014/12/26 职场文书
限期整改通知书
2015/04/22 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技