browser【浏览器环境】
描述
返回浏览器运行环境信息
# 1.示例
import { browser } from 'sf-utils2'
browser()
// 返回
{
"isIE11": false, // 是否IE11
"isIE": false, // IE
"isEdge": false, // Edge浏览器
"isFirefox": false, // Firefox浏览器
"isOpera": false, // Opera浏览器
"isChrome": true, // Chrome浏览器
"isQQ": false, // QQ浏览器
"isMobile": false, // 是否移动端
"isPc": true, // 是否pc端
"ieVersion": null // ie版本
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 2.入参说明
| 参数 | 说明 | 类型 | 是否必填 |
|---|
# 3.源码
/**
* 获取浏览器环境
* @returns {{isFirefox: boolean, isOpera: boolean, isIE11: boolean, isEdge: boolean, isIE: boolean, isSafari: boolean, isChrome: boolean}}
*/
function browser() {
function isBrowseType(type) {
return navigator.userAgent.indexOf(type) > -1
}
const isIE = isBrowseType('compatible') && isBrowseType('MSIE') && !isBrowseType('Opera') // 是否是ie
let ieVersion = null
if (isIE) {
const reIE = new RegExp('MSIE (\\d+\\.\\d+);')
reIE.test(navigator.userAgent)
ieVersion = Math.floor(+parseFloat(RegExp['$1']))
}
return {
isIE11: isBrowseType('Trident') && isBrowseType('rv:11.0'), // ie 11
isIE,
isEdge: isBrowseType('Edge'), //Edge浏览器
isFirefox: isBrowseType('Firefox'), // Firefox浏览器
isOpera: isBrowseType('Opera'), // Opera浏览器
isChrome: isBrowseType('Chrome'), // Chrome浏览器
isQQ: navigator.userAgent.match(/\sQQ/i) == ' qq', // QQ浏览器
isMobile: isMobile(),
isPc: isPc(),
ieVersion
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
上次更新: 2024/01/08, 21:47:25