白名单暴露更多信息

This commit is contained in:
Harvey Zack committed 2018-11-28 10:55:35 +08:00
1 parent 8653940a76
commit 3c0ea56c11
5 files changed
+53 -54

No files matched your search

+9 -9
View File
@@ -5,10 +5,18 @@ export default class Storage {
this.art = art;
this.storageName = 'artplayer_settings';
sleep().then(() => {
this.initVolume();
this.init();
});
}
init() {
const { player } = this.art;
const volume = this.get('volume');
if (volume) {
player.volume = volume;
}
}
get(key) {
const storage = JSON.parse(localStorage.getItem(this.storageName)) || {};
return key ? storage[key] : {};
@@ -20,12 +28,4 @@ export default class Storage {
});
localStorage.setItem(this.storageName, JSON.stringify(storage));
}
initVolume() {
const { player } = this.art;
const volume = this.get('volume');
if (volume) {
player.volume = volume;
}
}
}
+9 -10
View File
@@ -23,9 +23,9 @@ export default class Subtitle {
$track.kind = 'metadata';
$video.appendChild($track);
this.art.refs.$track = $track;
this.load(subtitle.url).then(vttText => {
$track.src = vttToBlob(vttText);
this.art.emit('subtitle:load', vttText);
this.load(subtitle.url).then(url => {
$track.src = url;
this.art.emit('subtitle:load', url);
if ($video.textTracks && $video.textTracks[0]) {
const [track] = $video.textTracks;
proxy(track, 'cuechange', () => {
@@ -54,13 +54,13 @@ export default class Subtitle {
return response.text();
})
.then(text => {
let vttText = '';
let vttUrl = '';
if (/x-subrip/gi.test(type)) {
vttText = srtToVtt(text);
vttUrl = vttToBlob(srtToVtt(text));
} else {
vttText = text;
vttUrl = url;
}
return vttText;
return vttUrl;
})
.catch(err => {
notice.show(err);
@@ -104,9 +104,8 @@ export default class Subtitle {
switch(url) {
const { $track } = this.art.refs;
errorHandle($track, 'You need to initialize the subtitle option first.');
this.load(url).then(vttText => {
$track.src = vttToBlob(vttText);
this.art.emit('subtitle:load', vttText);
this.load(url).then(url => {
$track.src = url;
this.art.emit('subtitle:switch', url);
});
}
+6 -6
View File
@@ -3,22 +3,22 @@ import optionValidator from 'option-validator';
export default class Whitelist {
constructor(art) {
const { whitelist } = art.option;
const { userAgent } = window.navigator;
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
this.userAgent = window.navigator.userAgent;
this.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent);
this.state =
!isMobile ||
!this.isMobile ||
whitelist.some(item => {
const type = optionValidator.kindOf(item);
let result = false;
switch (type) {
case 'string':
result = userAgent.indexOf(item) > -1;
result = this.userAgent.indexOf(item) > -1;
break;
case 'function':
result = item(userAgent);
result = item(this.userAgent);
break;
case 'regexp':
result = item.test(userAgent);
result = item.test(this.userAgent);
break;
default:
break;