mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-30 03:51:25 -08:00
白名单暴露更多信息
This commit is contained in:
1 parent
8653940a76
commit
3c0ea56c11
5 files changed
+53
-54
No files matched your search
+28
-28
@@ -715,26 +715,28 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
var Whitelist = function Whitelist(art) {
|
var Whitelist = function Whitelist(art) {
|
||||||
|
var _this = this;
|
||||||
|
|
||||||
classCallCheck(this, Whitelist);
|
classCallCheck(this, Whitelist);
|
||||||
|
|
||||||
var whitelist = art.option.whitelist;
|
var whitelist = art.option.whitelist;
|
||||||
var userAgent = window.navigator.userAgent;
|
this.userAgent = window.navigator.userAgent;
|
||||||
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
|
this.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent);
|
||||||
this.state = !isMobile || whitelist.some(function (item) {
|
this.state = !this.isMobile || whitelist.some(function (item) {
|
||||||
var type = optionValidator.kindOf(item);
|
var type = optionValidator.kindOf(item);
|
||||||
var result = false;
|
var result = false;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'string':
|
case 'string':
|
||||||
result = userAgent.indexOf(item) > -1;
|
result = _this.userAgent.indexOf(item) > -1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'function':
|
case 'function':
|
||||||
result = item(userAgent);
|
result = item(_this.userAgent);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'regexp':
|
case 'regexp':
|
||||||
result = item.test(userAgent);
|
result = item.test(_this.userAgent);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -4443,10 +4445,10 @@
|
|||||||
$track.kind = 'metadata';
|
$track.kind = 'metadata';
|
||||||
$video.appendChild($track);
|
$video.appendChild($track);
|
||||||
this.art.refs.$track = $track;
|
this.art.refs.$track = $track;
|
||||||
this.load(subtitle.url).then(function (vttText) {
|
this.load(subtitle.url).then(function (url) {
|
||||||
$track.src = vttToBlob(vttText);
|
$track.src = url;
|
||||||
|
|
||||||
_this.art.emit('subtitle:load', vttText);
|
_this.art.emit('subtitle:load', url);
|
||||||
|
|
||||||
if ($video.textTracks && $video.textTracks[0]) {
|
if ($video.textTracks && $video.textTracks[0]) {
|
||||||
var _$video$textTracks = slicedToArray($video.textTracks, 1),
|
var _$video$textTracks = slicedToArray($video.textTracks, 1),
|
||||||
@@ -4480,15 +4482,15 @@
|
|||||||
type = response.headers.get('Content-Type');
|
type = response.headers.get('Content-Type');
|
||||||
return response.text();
|
return response.text();
|
||||||
}).then(function (text) {
|
}).then(function (text) {
|
||||||
var vttText = '';
|
var vttUrl = '';
|
||||||
|
|
||||||
if (/x-subrip/gi.test(type)) {
|
if (/x-subrip/gi.test(type)) {
|
||||||
vttText = srtToVtt(text);
|
vttUrl = vttToBlob(srtToVtt(text));
|
||||||
} else {
|
} else {
|
||||||
vttText = text;
|
vttUrl = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
return vttText;
|
return vttUrl;
|
||||||
}).catch(function (err) {
|
}).catch(function (err) {
|
||||||
notice.show(err);
|
notice.show(err);
|
||||||
console.warn(err);
|
console.warn(err);
|
||||||
@@ -4535,10 +4537,8 @@
|
|||||||
|
|
||||||
var $track = this.art.refs.$track;
|
var $track = this.art.refs.$track;
|
||||||
errorHandle($track, 'You need to initialize the subtitle option first.');
|
errorHandle($track, 'You need to initialize the subtitle option first.');
|
||||||
this.load(url).then(function (vttText) {
|
this.load(url).then(function (url) {
|
||||||
$track.src = vttToBlob(vttText);
|
$track.src = url;
|
||||||
|
|
||||||
_this2.art.emit('subtitle:load', vttText);
|
|
||||||
|
|
||||||
_this2.art.emit('subtitle:switch', url);
|
_this2.art.emit('subtitle:switch', url);
|
||||||
});
|
});
|
||||||
@@ -5298,11 +5298,21 @@
|
|||||||
this.art = art;
|
this.art = art;
|
||||||
this.storageName = 'artplayer_settings';
|
this.storageName = 'artplayer_settings';
|
||||||
sleep().then(function () {
|
sleep().then(function () {
|
||||||
_this.initVolume();
|
_this.init();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
createClass(Storage, [{
|
createClass(Storage, [{
|
||||||
|
key: "init",
|
||||||
|
value: function init() {
|
||||||
|
var player = this.art.player;
|
||||||
|
var volume = this.get('volume');
|
||||||
|
|
||||||
|
if (volume) {
|
||||||
|
player.volume = volume;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
key: "get",
|
key: "get",
|
||||||
value: function get(key) {
|
value: function get(key) {
|
||||||
var storage = JSON.parse(localStorage.getItem(this.storageName)) || {};
|
var storage = JSON.parse(localStorage.getItem(this.storageName)) || {};
|
||||||
@@ -5314,16 +5324,6 @@
|
|||||||
var storage = Object.assign({}, this.get(), defineProperty({}, key, value));
|
var storage = Object.assign({}, this.get(), defineProperty({}, key, value));
|
||||||
localStorage.setItem(this.storageName, JSON.stringify(storage));
|
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;
|
return Storage;
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -5,10 +5,18 @@ export default class Storage {
|
|||||||
this.art = art;
|
this.art = art;
|
||||||
this.storageName = 'artplayer_settings';
|
this.storageName = 'artplayer_settings';
|
||||||
sleep().then(() => {
|
sleep().then(() => {
|
||||||
this.initVolume();
|
this.init();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init() {
|
||||||
|
const { player } = this.art;
|
||||||
|
const volume = this.get('volume');
|
||||||
|
if (volume) {
|
||||||
|
player.volume = volume;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
get(key) {
|
get(key) {
|
||||||
const storage = JSON.parse(localStorage.getItem(this.storageName)) || {};
|
const storage = JSON.parse(localStorage.getItem(this.storageName)) || {};
|
||||||
return key ? storage[key] : {};
|
return key ? storage[key] : {};
|
||||||
@@ -20,12 +28,4 @@ export default class Storage {
|
|||||||
});
|
});
|
||||||
localStorage.setItem(this.storageName, JSON.stringify(storage));
|
localStorage.setItem(this.storageName, JSON.stringify(storage));
|
||||||
}
|
}
|
||||||
|
|
||||||
initVolume() {
|
|
||||||
const { player } = this.art;
|
|
||||||
const volume = this.get('volume');
|
|
||||||
if (volume) {
|
|
||||||
player.volume = volume;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -23,9 +23,9 @@ export default class Subtitle {
|
|||||||
$track.kind = 'metadata';
|
$track.kind = 'metadata';
|
||||||
$video.appendChild($track);
|
$video.appendChild($track);
|
||||||
this.art.refs.$track = $track;
|
this.art.refs.$track = $track;
|
||||||
this.load(subtitle.url).then(vttText => {
|
this.load(subtitle.url).then(url => {
|
||||||
$track.src = vttToBlob(vttText);
|
$track.src = url;
|
||||||
this.art.emit('subtitle:load', vttText);
|
this.art.emit('subtitle:load', url);
|
||||||
if ($video.textTracks && $video.textTracks[0]) {
|
if ($video.textTracks && $video.textTracks[0]) {
|
||||||
const [track] = $video.textTracks;
|
const [track] = $video.textTracks;
|
||||||
proxy(track, 'cuechange', () => {
|
proxy(track, 'cuechange', () => {
|
||||||
@@ -54,13 +54,13 @@ export default class Subtitle {
|
|||||||
return response.text();
|
return response.text();
|
||||||
})
|
})
|
||||||
.then(text => {
|
.then(text => {
|
||||||
let vttText = '';
|
let vttUrl = '';
|
||||||
if (/x-subrip/gi.test(type)) {
|
if (/x-subrip/gi.test(type)) {
|
||||||
vttText = srtToVtt(text);
|
vttUrl = vttToBlob(srtToVtt(text));
|
||||||
} else {
|
} else {
|
||||||
vttText = text;
|
vttUrl = url;
|
||||||
}
|
}
|
||||||
return vttText;
|
return vttUrl;
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
notice.show(err);
|
notice.show(err);
|
||||||
@@ -104,9 +104,8 @@ export default class Subtitle {
|
|||||||
switch(url) {
|
switch(url) {
|
||||||
const { $track } = this.art.refs;
|
const { $track } = this.art.refs;
|
||||||
errorHandle($track, 'You need to initialize the subtitle option first.');
|
errorHandle($track, 'You need to initialize the subtitle option first.');
|
||||||
this.load(url).then(vttText => {
|
this.load(url).then(url => {
|
||||||
$track.src = vttToBlob(vttText);
|
$track.src = url;
|
||||||
this.art.emit('subtitle:load', vttText);
|
|
||||||
this.art.emit('subtitle:switch', url);
|
this.art.emit('subtitle:switch', url);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,22 +3,22 @@ import optionValidator from 'option-validator';
|
|||||||
export default class Whitelist {
|
export default class Whitelist {
|
||||||
constructor(art) {
|
constructor(art) {
|
||||||
const { whitelist } = art.option;
|
const { whitelist } = art.option;
|
||||||
const { userAgent } = window.navigator;
|
this.userAgent = window.navigator.userAgent;
|
||||||
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
|
this.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(this.userAgent);
|
||||||
this.state =
|
this.state =
|
||||||
!isMobile ||
|
!this.isMobile ||
|
||||||
whitelist.some(item => {
|
whitelist.some(item => {
|
||||||
const type = optionValidator.kindOf(item);
|
const type = optionValidator.kindOf(item);
|
||||||
let result = false;
|
let result = false;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'string':
|
case 'string':
|
||||||
result = userAgent.indexOf(item) > -1;
|
result = this.userAgent.indexOf(item) > -1;
|
||||||
break;
|
break;
|
||||||
case 'function':
|
case 'function':
|
||||||
result = item(userAgent);
|
result = item(this.userAgent);
|
||||||
break;
|
break;
|
||||||
case 'regexp':
|
case 'regexp':
|
||||||
result = item.test(userAgent);
|
result = item.test(this.userAgent);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in new issue
Block a user