mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-11 22:06:17 -08:00
30 lines
1.0 KiB
JavaScript
30 lines
1.0 KiB
JavaScript
import optionValidator from 'option-validator';
|
|
|
|
export default class Whitelist {
|
|
constructor(art) {
|
|
const { whitelist } = art.option;
|
|
this.userAgent = window.navigator.userAgent;
|
|
this.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent);
|
|
this.state =
|
|
!this.isMobile ||
|
|
whitelist.some(item => {
|
|
const type = optionValidator.kindOf(item);
|
|
let result = false;
|
|
switch (type) {
|
|
case 'string':
|
|
result = this.userAgent.indexOf(item) > -1;
|
|
break;
|
|
case 'function':
|
|
result = item(this.userAgent);
|
|
break;
|
|
case 'regexp':
|
|
result = item.test(this.userAgent);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return result;
|
|
});
|
|
}
|
|
}
|