@@ -2,7 +2,12 @@ import { st_isAvailable } from './storage/common';
2
2
3
3
export type BrowserInfo = ReturnType < typeof i_complete > ;
4
4
5
- export const i_screenSize = `${ screen . width ?? '' } x ${ screen . height ?? '' } ` ;
5
+ export function i_screenSize ( ) : string {
6
+ if ( typeof window === 'undefined' ) {
7
+ return '' ;
8
+ }
9
+ return `${ window ?. screen ?. width ?? '' } x ${ window ?. screen ?. height ?? '' } ` ;
10
+ }
6
11
7
12
export const i_cookieEnabled = ( ) => {
8
13
let cookieEnabled = navigator . cookieEnabled ;
@@ -14,7 +19,12 @@ export const i_cookieEnabled = () => {
14
19
return cookieEnabled ;
15
20
} ;
16
21
17
- export const i_mobile = / M o b i l e | m i n i | F e n n e c | A n d r o i d | i P ( a d | o d | h o n e ) / . test ( navigator . appVersion ) ;
22
+ export function i_mobile ( ) : boolean {
23
+ if ( typeof window === 'undefined' ) {
24
+ return false ;
25
+ }
26
+ return / M o b i l e | m i n i | F e n n e c | A n d r o i d | i P ( a d | o d | h o n e ) / . test ( navigator . appVersion ) ;
27
+ }
18
28
19
29
/**
20
30
* @return {screenSize: string, name: string, version: string, majorVersion: number, mobile: boolean, os: string, osVersion: string, cookies: boolean, localStorage: boolean }
@@ -36,7 +46,7 @@ export const i_complete = (): {
36
46
const nAgt = navigator . userAgent ;
37
47
let browser = 'Netscape' ;
38
48
let version = '4.0' ;
39
- let majorVersion = 4 ;
49
+ let majorVersion : number ;
40
50
let nameOffset , verOffset , ix ;
41
51
42
52
// Opera
@@ -177,11 +187,11 @@ export const i_complete = (): {
177
187
}
178
188
179
189
return {
180
- screenSize : i_screenSize ,
190
+ screenSize : i_screenSize ( ) ,
181
191
name : browser ,
182
192
version : version ,
183
193
majorVersion : majorVersion ,
184
- mobile : i_mobile ,
194
+ mobile : i_mobile ( ) ,
185
195
os : os ,
186
196
osVersion : osVersion ,
187
197
cookies : i_cookieEnabled ( ) ,
0 commit comments