白名单暴露更多信息

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

+28 -28
View File
@@ -715,26 +715,28 @@
};
var Whitelist = function Whitelist(art) {
var _this = this;
classCallCheck(this, Whitelist);
var whitelist = art.option.whitelist;
var userAgent = window.navigator.userAgent;
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
this.state = !isMobile || whitelist.some(function (item) {
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(function (item) {
var type = optionValidator.kindOf(item);
var 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:
@@ -4443,10 +4445,10 @@
$track.kind = 'metadata';
$video.appendChild($track);
this.art.refs.$track = $track;
this.load(subtitle.url).then(function (vttText) {
$track.src = vttToBlob(vttText);
this.load(subtitle.url).then(function (url) {
$track.src = url;
_this.art.emit('subtitle:load', vttText);
_this.art.emit('subtitle:load', url);
if ($video.textTracks && $video.textTracks[0]) {
var _$video$textTracks = slicedToArray($video.textTracks, 1),
@@ -4480,15 +4482,15 @@
type = response.headers.get('Content-Type');
return response.text();
}).then(function (text) {
var vttText = '';
var vttUrl = '';
if (/x-subrip/gi.test(type)) {
vttText = srtToVtt(text);
vttUrl = vttToBlob(srtToVtt(text));
} else {
vttText = text;
vttUrl = url;
}
return vttText;
return vttUrl;
}).catch(function (err) {
notice.show(err);
console.warn(err);
@@ -4535,10 +4537,8 @@
var $track = this.art.refs.$track;
errorHandle($track, 'You need to initialize the subtitle option first.');
this.load(url).then(function (vttText) {
$track.src = vttToBlob(vttText);
_this2.art.emit('subtitle:load', vttText);
this.load(url).then(function (url) {
$track.src = url;
_this2.art.emit('subtitle:switch', url);
});
@@ -5298,11 +5298,21 @@
this.art = art;
this.storageName = 'artplayer_settings';
sleep().then(function () {
_this.initVolume();
_this.init();
});
}
createClass(Storage, [{
key: "init",
value: function init() {
var player = this.art.player;
var volume = this.get('volume');
if (volume) {
player.volume = volume;
}
}
}, {
key: "get",
value: function get(key) {
var storage = JSON.parse(localStorage.getItem(this.storageName)) || {};
@@ -5314,16 +5324,6 @@
var storage = Object.assign({}, this.get(), defineProperty({}, key, value));
localStorage.setItem(this.storageName, JSON.stringify(storage));
}
}, {
key: "initVolume",
value: function initVolume() {
var player = this.art.player;
var volume = this.get('volume');
if (volume) {
player.volume = volume;
}
}
}]);
return Storage;
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"artplayer.js","sources":["../../../packages/artplayer/node_modules/@babel/runtime/helpers/classCallCheck.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/createClass.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/typeof.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/inherits.js","../../../packages/artplayer/node_modules/tiny-emitter/index.js","../../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../../packages/artplayer/node_modules/deepmerge/dist/es.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/isNativeFunction.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/construct.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../../packages/artplayer/src/utils/error.js","../../../packages/artplayer/src/utils/dom.js","../../../packages/artplayer/src/utils/subtitle.js","../../../packages/artplayer/src/utils/index.js","../../../packages/artplayer/src/scheme/validElement.js","../../../packages/artplayer/src/scheme/validStringEmpty.js","../../../packages/artplayer/src/scheme/index.js","../../../packages/artplayer/src/config/mimeCodec.js","../../../packages/artplayer/src/config/mse.js","../../../packages/artplayer/src/config/video.js","../../../packages/artplayer/src/config/index.js","../../../packages/artplayer/src/whitelist.js","../../../packages/artplayer/src/template.js","../../../packages/artplayer/src/i18n.js","../../../packages/artplayer/src/player/attachUrlMix.js","../../../packages/artplayer/src/player/attrInit.js","../../../packages/artplayer/src/player/eventInit.js","../../../packages/artplayer/src/player/playMix.js","../../../packages/artplayer/src/player/pauseMin.js","../../../packages/artplayer/src/player/toggleMix.js","../../../packages/artplayer/src/player/seekMix.js","../../../packages/artplayer/src/player/volumeMix.js","../../../packages/artplayer/src/player/currentTimeMix.js","../../../packages/artplayer/src/player/durationMix.js","../../../packages/artplayer/src/player/switchQualityMix.js","../../../packages/artplayer/src/player/playbackRateMix.js","../../../packages/artplayer/src/player/aspectRatioMix.js","../../../packages/artplayer/src/player/screenshotMix.js","../../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../../packages/artplayer/src/player/fullscreenMix.js","../../../packages/artplayer/src/player/fullscreenWebMix.js","../../../packages/artplayer/node_modules/get-size/get-size.js","../../../packages/artplayer/node_modules/ev-emitter/ev-emitter.js","../../../packages/artplayer/node_modules/unipointer/unipointer.js","../../../packages/artplayer/node_modules/unidragger/unidragger.js","../../../packages/artplayer/node_modules/draggabilly/draggabilly.js","../../../packages/artplayer/src/player/pipMix.js","../../../packages/artplayer/src/player/loadedMix.js","../../../packages/artplayer/src/player/playedMix.js","../../../packages/artplayer/src/player/autoSizeMix.js","../../../packages/artplayer/src/player/flipMix.js","../../../packages/artplayer/src/player/index.js","../../../packages/artplayer/src/mse.js","../../../packages/artplayer/src/utils/component.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/defineProperty.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/objectSpread.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/nonIterableRest.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/slicedToArray.js","../../../packages/artplayer/src/icons/index.js","../../../packages/artplayer/src/controls/fullscreen.js","../../../packages/artplayer/src/controls/fullscreenWeb.js","../../../packages/artplayer/src/controls/pip.js","../../../packages/artplayer/src/controls/playAndPause.js","../../../packages/artplayer/src/controls/progress.js","../../../packages/artplayer/src/controls/subtitle.js","../../../packages/artplayer/src/controls/time.js","../../../packages/artplayer/src/controls/volume.js","../../../packages/artplayer/src/controls/setting.js","../../../packages/artplayer/src/controls/thumbnails.js","../../../packages/artplayer/src/controls/screenshot.js","../../../packages/artplayer/src/controls/quality.js","../../../packages/artplayer/src/controls/index.js","../../../packages/artplayer/src/contextmenu/playbackRate.js","../../../packages/artplayer/src/contextmenu/aspectRatio.jLine truncated
{"version":3,"file":"artplayer.js","sources":["../../../packages/artplayer/node_modules/@babel/runtime/helpers/classCallCheck.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/createClass.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/typeof.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/inherits.js","../../../packages/artplayer/node_modules/tiny-emitter/index.js","../../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../../packages/artplayer/node_modules/deepmerge/dist/es.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/isNativeFunction.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/construct.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../../packages/artplayer/src/utils/error.js","../../../packages/artplayer/src/utils/dom.js","../../../packages/artplayer/src/utils/subtitle.js","../../../packages/artplayer/src/utils/index.js","../../../packages/artplayer/src/scheme/validElement.js","../../../packages/artplayer/src/scheme/validStringEmpty.js","../../../packages/artplayer/src/scheme/index.js","../../../packages/artplayer/src/config/mimeCodec.js","../../../packages/artplayer/src/config/mse.js","../../../packages/artplayer/src/config/video.js","../../../packages/artplayer/src/config/index.js","../../../packages/artplayer/src/whitelist.js","../../../packages/artplayer/src/template.js","../../../packages/artplayer/src/i18n.js","../../../packages/artplayer/src/player/attachUrlMix.js","../../../packages/artplayer/src/player/attrInit.js","../../../packages/artplayer/src/player/eventInit.js","../../../packages/artplayer/src/player/playMix.js","../../../packages/artplayer/src/player/pauseMin.js","../../../packages/artplayer/src/player/toggleMix.js","../../../packages/artplayer/src/player/seekMix.js","../../../packages/artplayer/src/player/volumeMix.js","../../../packages/artplayer/src/player/currentTimeMix.js","../../../packages/artplayer/src/player/durationMix.js","../../../packages/artplayer/src/player/switchQualityMix.js","../../../packages/artplayer/src/player/playbackRateMix.js","../../../packages/artplayer/src/player/aspectRatioMix.js","../../../packages/artplayer/src/player/screenshotMix.js","../../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../../packages/artplayer/src/player/fullscreenMix.js","../../../packages/artplayer/src/player/fullscreenWebMix.js","../../../packages/artplayer/node_modules/get-size/get-size.js","../../../packages/artplayer/node_modules/ev-emitter/ev-emitter.js","../../../packages/artplayer/node_modules/unipointer/unipointer.js","../../../packages/artplayer/node_modules/unidragger/unidragger.js","../../../packages/artplayer/node_modules/draggabilly/draggabilly.js","../../../packages/artplayer/src/player/pipMix.js","../../../packages/artplayer/src/player/loadedMix.js","../../../packages/artplayer/src/player/playedMix.js","../../../packages/artplayer/src/player/autoSizeMix.js","../../../packages/artplayer/src/player/flipMix.js","../../../packages/artplayer/src/player/index.js","../../../packages/artplayer/src/mse.js","../../../packages/artplayer/src/utils/component.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/defineProperty.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/objectSpread.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/nonIterableRest.js","../../../packages/artplayer/node_modules/@babel/runtime/helpers/slicedToArray.js","../../../packages/artplayer/src/icons/index.js","../../../packages/artplayer/src/controls/fullscreen.js","../../../packages/artplayer/src/controls/fullscreenWeb.js","../../../packages/artplayer/src/controls/pip.js","../../../packages/artplayer/src/controls/playAndPause.js","../../../packages/artplayer/src/controls/progress.js","../../../packages/artplayer/src/controls/subtitle.js","../../../packages/artplayer/src/controls/time.js","../../../packages/artplayer/src/controls/volume.js","../../../packages/artplayer/src/controls/setting.js","../../../packages/artplayer/src/controls/thumbnails.js","../../../packages/artplayer/src/controls/screenshot.js","../../../packages/artplayer/src/controls/quality.js","../../../packages/artplayer/src/controls/index.js","../../../packages/artplayer/src/contextmenu/playbackRate.js","../../../packages/artplayer/src/contextmenu/aspectRatio.jLine truncated
+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;