fingerprintjs

Форк
0
/
vendor_flavors.ts 
56 строк · 1.4 Кб
1
/**
2
 * Checks for browser-specific (not engine specific) global variables to tell browsers with the same engine apart.
3
 * Only somewhat popular browsers are considered.
4
 */
5
export default function getVendorFlavors(): string[] {
6
  const flavors: string[] = []
7

8
  for (const key of [
9
    // Blink and some browsers on iOS
10
    'chrome',
11

12
    // Safari on macOS
13
    'safari',
14

15
    // Chrome on iOS (checked in 85 on 13 and 87 on 14)
16
    '__crWeb',
17
    '__gCrWeb',
18

19
    // Yandex Browser on iOS, macOS and Android (checked in 21.2 on iOS 14, macOS and Android)
20
    'yandex',
21

22
    // Yandex Browser on iOS (checked in 21.2 on 14)
23
    '__yb',
24
    '__ybro',
25

26
    // Firefox on iOS (checked in 32 on 14)
27
    '__firefox__',
28

29
    // Edge on iOS (checked in 46 on 14)
30
    '__edgeTrackingPreventionStatistics',
31
    'webkit',
32

33
    // Opera Touch on iOS (checked in 2.6 on 14)
34
    'oprt',
35

36
    // Samsung Internet on Android (checked in 11.1)
37
    'samsungAr',
38

39
    // UC Browser on Android (checked in 12.10 and 13.0)
40
    'ucweb',
41
    'UCShellJava',
42

43
    // Puffin on Android (checked in 9.0)
44
    'puffinDevice',
45

46
    // UC on iOS and Opera on Android have no specific global variables
47
    // Edge for Android isn't checked
48
  ]) {
49
    const value = (window as unknown as Record<string, unknown>)[key]
50
    if (value && typeof value === 'object') {
51
      flavors.push(key)
52
    }
53
  }
54

55
  return flavors.sort()
56
}
57

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.