js操作浏览器的参数方法


Posted in Javascript onJanuary 21, 2017

实例如下:

function getQueStr(url, ref) //取获参数值
{
  var str = url.substr(url.indexOf('?') + 1);
  if (str.indexOf('&') != -1) {
    var arr = str.split('&');
    for (i in arr) {
      if (arr[i].split('=')[0] == ref)
        return arr[i].split('=')[1];
    }
  }
  else {
    return url.substr(url.indexOf('=') + 1)
  }
}

function setQueStr(url, ref, value) //设置参数值
{
  var str = "";
  if (url.indexOf('?') != -1)
    str = url.substr(url.indexOf('?') + 1);
  else
    return url + "?" + ref + "=" + value;
  var returnurl = "";
  var setparam = "";
  var arr;
  var modify = "0";

  if (str.indexOf('&') != -1) {
    arr = str.split('&');

    for (i in arr) {
      if (arr[i].split('=')[0] == ref) {
        setparam = value;
        modify = "1";
      }
      else {
        setparam = arr[i].split('=')[1];
      }
      returnurl = returnurl + arr[i].split('=')[0] + "=" + setparam + "&";
    }

    returnurl = returnurl.substr(0, returnurl.length - 1);

    if (modify == "0")
      if (returnurl == str)
        returnurl = returnurl + "&" + ref + "=" + value;
  }
  else {
    if (str.indexOf('=') != -1) {
      arr = str.split('=');

      if (arr[0] == ref) {
        setparam = value;
        modify = "1";
      }
      else {
        setparam = arr[1];
      }
      returnurl = arr[0] + "=" + setparam;
      if (modify == "0")
        if (returnurl == str)
          returnurl = returnurl + "&" + ref + "=" + value;
    }
    else
      returnurl = ref + "=" + value;
  }
  return url.substr(0, url.indexOf('?')) + "?" + returnurl;
}

function delQueStr(url, ref) //删除参数值
{
  var str = "";

  if (url.indexOf('?') != -1)
    str = url.substr(url.indexOf('?') + 1);
  else
    return url;
  var arr = "";
  var returnurl = "";
  var setparam = "";
  if (str.indexOf('&') != -1) {
    arr = str.split('&');
    for (i in arr) {
      if (arr[i].split('=')[0] != ref) {
        returnurl = returnurl + arr[i].split('=')[0] + "=" + arr[i].split('=')[1] + "&";
      }
    }
    return url.substr(0, url.indexOf('?')) + "?" + returnurl.substr(0, returnurl.length - 1);
  }
  else {
    arr = str.split('=');
    if (arr[0] == ref)
      return url.substr(0, url.indexOf('?'));
    else
      return url;
  }
}

以上这篇js操作浏览器的参数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript动画之圆形运动,环绕鼠标运动作小球
Jul 20 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
jQuery使用元素属性attr赋值详解
Feb 27 Javascript
js点击返回跳转到指定页面实现过程
Aug 20 Javascript
js实现弹窗暗层效果
Jan 16 Javascript
获取url中用&隔开的参数实例(分享)
May 28 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
Jul 12 Javascript
vue 移动端适配方案详解
Nov 15 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
vue项目打包后怎样优雅的解决跨域
May 26 Javascript
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
Vue实现简易计算器
Feb 25 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
Jan 21 #Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 #Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
Jan 21 #Javascript
利用transition实现文字上下抖动的效果
Jan 21 #Javascript
jQuery Ajax实现跨域请求
Jan 21 #Javascript
three.js快速入门【推荐】
Jan 21 #Javascript
详解Angualr 组件间通信
Jan 21 #Javascript
You might like
第一个无线电台是由谁发明的
2021/03/01 无线电
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
React数据传递之组件内部通信的方法
2017/12/31 Javascript
了解重排与重绘
2019/05/29 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
幼儿园教师备课制度
2014/01/12 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
责任心演讲稿
2014/05/14 职场文书
幼儿园标语大全
2014/06/19 职场文书
党委班子剖析材料
2014/08/21 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
消防安全月活动总结
2015/05/08 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL
Golang 切片(Slice)实现增删改查
2022/04/22 Golang