【随手记】js获取screen信息和query参数格式化


前言

js实现获取screen信息和query参数格式化、获取cookie

一、获取screen信息

function getScreenInfo() {
            try {
                var screenTop = (win.mozInnerScreenY || win.screenTop);
                var screenLeft = (win.mozInnerScreenX || win.screenLeft);
                if (typeof screenTop === 'undefined') {
                    screenTop = 0;
                }
                if (typeof screenLeft === 'undefined') {
                    screenLeft = 0;
                }
                // 网页可见区域 浏览器窗口可视区域大小(不包括工具栏和滚动条等边线)
                var clientWidth = document.documentumentElement.clientWidth || document.body.clientWidth;
                var clientHeight = document.documentumentElement.clientHeight || document.body.clientHeight;
                // 屏幕分辨率
                var screenWidth = win.screen.width;
                var screenHeight = win.screen.height;
                // 屏幕可用工作区
                var availWidth = win.screen.availWidth;
                var availHeight = win.screen.availHeight;
                // 外部高度
                var outerWidth = win.outerWidth;
                var outerHeight = win.outerHeight;
                // 文档高度 网页内容实际宽高(包括工具栏和滚动条等边线)
                var scrollWidth = document.documentumentElement.scrollWidth || document.body.scrollWidth;
                var scrollHeight = document.documentumentElement.scrollWidth || document.body.scrollHeight;
                return {
                    'screenTop': screenTop,
                    'screenLeft': screenLeft,
                    'clientWidth': clientWidth,
                    'clientHeight': clientHeight,
                    'screenWidth': screenWidth,
                    'screenHeight': screenHeight,
                    'availWidth': availWidth,
                    'availHeight': availHeight,
                    'outerWidth': outerWidth,
                    'outerHeight': outerHeight,
                    'scrollWidth': scrollWidth,
                    'scrollHeight': scrollHeight
                };
            }
            catch (err) {
                // catch
            }
        }

二、query参数格式化

代码如下(示例):

  function getUrlQueryObj(url) {
      const arrList = decodeURIComponent(url).split('?');
      const queryObj = {};
      let arr = null;
      for (let i = 1, len = arrList.length; i < len; i++) {
          const query = arrList[i];
          const queryArr = query.split('&');
          for (const item of queryArr) {
              arr = item.split('=');
              arr[1] && (queryObj[arr[0]] = arr[1]);
              if (arr[1] && arr[1].indexOf('#/') !== -1) {
                  queryObj[arr[0]] = arr[1].split('#/')[0];
              }
          }
      }
      return queryObj;
  };

三、获取cookie

代码如下(示例):

// 第一种
function getCookie(name) {
    var arr;
    var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
    if (arr = document.cookie.match(reg)) {
       return decodeURI(arr[2]);
    } else {
        return null;
    }
}



// 第二种
function getCookie(name) {
    var prefix = name + "="
    var start = document.cookie.indexOf(prefix)
 
    if (start == -1) {
        return null;
    }
 
    var end = document.cookie.indexOf(";", start + prefix.length)
    if (end == -1) {
        end = document.cookie.length;
    }
 
    var value = document.cookie.substring(start + prefix.length, end)
    return unescape(value);
}

四、获取安卓版本号

function get_android_version() {
    var ua = navigator.userAgent.toLowerCase();
    var version = null;
    if (ua.indexOf('android') > 0) {
        var reg = /android [._]+/gi;
        var vInfo = ua.match(reg);
        version = (vInfo + '').replace(/[^0-9|_.]/ig, '').replace(/_/ig, '.'); // 得到版本号4.2.2
        version = parseInt(version.split('.')[0], 10);// 得到版本号第一位
    }

    return version;
}

总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LuckyCola2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值