js取得当前是什么手机

原创
小哥 3年前 (2022-11-10) 阅读数 41 #大杂烩

该方法可能不是最佳解决方案,但它只适合您自己。

我处理的是逻辑匹配。 这样的

根据该值,匹配哪个浏览器

// 浏览器标识通过数组返回。
const getUserAgent = () => {
  const { userAgent } = navigator;
  let left = 0;
  const arr = [];
  for (let i = 0; i < userAgent.length; i++) {
    if (userAgent[i] ===  ) {
      left = i;
    } else if (userAgent[i] === / && left) {
      arr.push(userAgent.slice(left + 1, i));
    }
  }
  // 搜狗浏览器格式特殊。
  if (userAgent.includes(MetaSr)) {
    arr.push(MetaSr);
  }
  return arr.slice(1);
};

export const broswerIdMap = {
  QQ浏览器: [Chrome, Safari, Core, QQBrowser],
  Chrome浏览器: [Chrome, Safari],
  Edge浏览器: [Chrome, Safari, Edg],
  搜狗浏览器: [Chrome, Safari, MetaSr],
  Safari浏览器: [Version, Safari],
  Firefox浏览器: [Gecko, Firefox],
  2345浏览器: [Chrome, Safari, 2345Explorer],
};

// 获取当前登录浏览器。
export const getCurBroswer = () => {
  let broswer = null;
  console.log(window, window);
  const broswerList = Object.keys(broswerIdMap);
  const curAgent = getUserAgent();
  for (let i = 0; i < broswerList.length; i++) {
    if (curAgent.toString() === broswerIdMap[broswerList[i]].toString()) {
      broswer = broswerList[i];
      return broswer;
    }
  }
  return 其他浏览器;
};

使用时直接调用此 getCurBroswer 在线上,您可以获得当前的浏览器。

包含我知道的主流浏览器。
如果你问我为什么没有猎豹浏览器360言语…我一点也不会说。userAgent要区分它们和chorme区别!!!

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门