UNPKG

@sinosun/lib

Version:

sinosun jsbridge and net toolkit

113 lines (85 loc) 2.86 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); require("core-js/modules/es.regexp.exec.js"); require("core-js/modules/es.string.match.js"); require("core-js/modules/es.string.split.js"); require("core-js/modules/es.date.to-string.js"); var _defineProperty = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/define-property")); var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of")); var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout")); (0, _defineProperty["default"])(exports, "__esModule", { value: true }); exports.scrollThrottle = exports.getUrlParams = exports.isPC = exports.hasModalConfirm = void 0; /* * @Description: * @FilePath: \approvald:\gitCode\sinosunlib\src\BaseView\baseUtils.js */ //判断页面是否有弹框 function hasModalConfirm() { var hasModal = false; var dom = document.getElementsByClassName('sn-modal'); if (dom && dom.length) { if ('none' === dom[0].style.display) { hasModal = false; } else { hasModal = true; } } return hasModal; } exports.hasModalConfirm = hasModalConfirm; // 是不是PC function isPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); var flag = true; for (var v = 0; v < Agents.length; v++) { if ((0, _indexOf["default"])(userAgentInfo).call(userAgentInfo, Agents[v]) > 0) { flag = false; break; } } return flag; } exports.isPC = isPC; /** * 获取当前url的参数 */ function getUrlParams() { var url = window.location.href; var regexP = /[^#&?]+=[^#&?]*/gi, res = {}; var ms = url.match(regexP); if (ms) { for (var i = 0; i < ms.length; i++) { var arr = ms[i].split("="); res[arr[0]] = decodeURIComponent(arr[1]); } } return res; } exports.getUrlParams = getUrlParams; // 函数节流 function scrollThrottle(fn, delay) { var last; // 上次执行的时间 var timer; // 定时器 delay || (delay = 250); // 默认间隔为250ms return function () { var context = this; var args = arguments; var now = +new Date(); // 现在的时间 if (last && now < last + delay) { // 当前距离上次执行的时间小于设置的时间间隔 clearTimeout(timer); // 清除定时器 timer = (0, _setTimeout2["default"])(function () { // delay时间后,执行函数 last = now; fn.apply(context, args); }, delay); } else { // 当前距离上次执行的时间大于等于设置的时间,直接执行函数 last = now; fn.apply(context, args); } }; } exports.scrollThrottle = scrollThrottle;