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的高性能td和input切换并可修改内容实现代码
Jan 09 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
zTree插件之多选下拉菜单实例代码
Nov 06 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
Mar 14 Javascript
基于JavaScript实现的快速排序算法分析
Apr 14 Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 Javascript
JS随机排序数组实现方法分析
Oct 11 Javascript
vue实现图书管理demo详解
Oct 17 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
Sep 17 Javascript
Vue2 添加数据可视化支持的方法步骤
Jan 02 Javascript
vue项目中实现缓存的最佳方案详解
Jul 11 Javascript
JavaScript实现滑动门效果
Jan 18 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的特殊设置
2006/10/09 PHP
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
PHP 遍历XP文件夹下所有文件
2008/11/27 PHP
php实现的通用图片处理类
2015/03/24 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
python实现简单温度转换的方法
2015/03/13 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
用python写爬虫简单吗
2020/07/28 Python
canvas简单连线动画的实现代码
2020/02/04 HTML / CSS
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
李宁官方网店:中国运动品牌
2017/11/02 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
酒店应聘自荐信
2013/11/09 职场文书
行政助理岗位职责范文
2013/12/03 职场文书
新领导上任欢迎词
2014/01/13 职场文书
园林技术专业求职信
2014/07/28 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
MySQL创建管理KEY分区
2022/04/13 MySQL
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python