mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-19 11:21:20 -08:00
forEach => for
This commit is contained in:
1 parent
99f5694100
commit
455e2189a7
18 files changed
+159
-103
No files matched your search
@@ -1144,11 +1144,13 @@
|
||||
}
|
||||
|
||||
if (option.mutex) {
|
||||
instances.filter(function (item) {
|
||||
return item !== art;
|
||||
}).forEach(function (item) {
|
||||
return item.pause();
|
||||
});
|
||||
for (var index = 0; index < instances.length; index++) {
|
||||
var instance = instances[index];
|
||||
|
||||
if (instance !== art) {
|
||||
instance.pause();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
notice.show = i18n.get('Play');
|
||||
@@ -1896,13 +1898,21 @@
|
||||
return art.template.$player.getBoundingClientRect();
|
||||
}
|
||||
});
|
||||
['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(function (key) {
|
||||
var keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];
|
||||
|
||||
var _loop = function _loop(index) {
|
||||
var key = keys[index];
|
||||
def(art, key, {
|
||||
get: function get() {
|
||||
return art.rect[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
for (var index = 0; index < keys.length; index++) {
|
||||
_loop(index);
|
||||
}
|
||||
|
||||
def(art, 'x', {
|
||||
get: function get() {
|
||||
return art.left + window.pageXOffset;
|
||||
@@ -2230,7 +2240,8 @@
|
||||
var sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];
|
||||
|
||||
function exclusive(props) {
|
||||
props.forEach(function (name) {
|
||||
var _loop = function _loop(index) {
|
||||
var name = props[index];
|
||||
art.on(name, function () {
|
||||
if (art[name]) {
|
||||
props.filter(function (item) {
|
||||
@@ -2242,7 +2253,11 @@
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
for (var index = 0; index < props.length; index++) {
|
||||
_loop(index);
|
||||
}
|
||||
}
|
||||
|
||||
exclusive(sizeProps);
|
||||
@@ -2313,13 +2328,15 @@
|
||||
proxy($video, 'dblclick', function () {
|
||||
art.fullscreen = !art.fullscreen;
|
||||
});
|
||||
config.events.forEach(function (eventName) {
|
||||
proxy($video, eventName, function (event) {
|
||||
|
||||
for (var index = 0; index < config.events.length; index++) {
|
||||
proxy($video, config.events[index], function (event) {
|
||||
art.emit("video:".concat(event.type), event);
|
||||
});
|
||||
}); // art.on('video:abort', () => {
|
||||
} // art.on('video:abort', () => {
|
||||
// });
|
||||
|
||||
|
||||
art.on('video:canplay', function () {
|
||||
reconnectTime = 0;
|
||||
art.loading.show = false;
|
||||
@@ -2848,10 +2865,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
option.highlight.forEach(function (item) {
|
||||
for (var index = 0; index < option.highlight.length; index++) {
|
||||
var item = option.highlight[index];
|
||||
var left = clamp(item.time, 0, art.duration) / art.duration * 100;
|
||||
append($highlight, "<span data-text=\"".concat(item.text, "\" data-time=\"").concat(item.time, "\" style=\"left: ").concat(left, "%\"></span>"));
|
||||
});
|
||||
}
|
||||
|
||||
setBar('loaded', art.loaded);
|
||||
art.on('video:progress', function () {
|
||||
setBar('loaded', art.loaded);
|
||||
@@ -2947,9 +2966,11 @@
|
||||
}
|
||||
|
||||
getTime();
|
||||
['video:loadedmetadata', 'video:timeupdate', 'video:progress'].forEach(function (event) {
|
||||
art.on(event, getTime);
|
||||
});
|
||||
var events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];
|
||||
|
||||
for (var index = 0; index < events.length; index++) {
|
||||
art.on(events[index], getTime);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -3311,9 +3332,9 @@
|
||||
index: 70
|
||||
}));
|
||||
|
||||
option.controls.forEach(function (item) {
|
||||
return _this.add(item);
|
||||
});
|
||||
for (var index = 0; index < option.controls.length; index++) {
|
||||
_this.add(option.controls[index]);
|
||||
}
|
||||
});
|
||||
return _this;
|
||||
}
|
||||
@@ -3508,9 +3529,10 @@
|
||||
index: 60
|
||||
}));
|
||||
|
||||
option.contextmenu.forEach(function (item) {
|
||||
return _this.add(item);
|
||||
});
|
||||
for (var index = 0; index < option.contextmenu.length; index++) {
|
||||
_this.add(option.contextmenu[index]);
|
||||
}
|
||||
|
||||
proxy($player, 'contextmenu', function (event) {
|
||||
event.preventDefault();
|
||||
_this.show = true;
|
||||
@@ -3574,11 +3596,9 @@
|
||||
|
||||
_this = _super.call(this, art);
|
||||
_this.name = 'info';
|
||||
|
||||
if (_this.art.template.$info) {
|
||||
art.once('ready', function () {
|
||||
_this.init();
|
||||
}
|
||||
|
||||
});
|
||||
return _this;
|
||||
}
|
||||
|
||||
@@ -3588,37 +3608,33 @@
|
||||
var _this2 = this;
|
||||
|
||||
var _this$art = this.art,
|
||||
proxy = _this$art.events.proxy,
|
||||
_this$art$template = _this$art.template,
|
||||
$infoPanel = _this$art$template.$infoPanel,
|
||||
$infoClose = _this$art$template.$infoClose,
|
||||
$video = _this$art$template.$video,
|
||||
proxy = _this$art.events.proxy;
|
||||
$video = _this$art$template.$video;
|
||||
proxy($infoClose, 'click', function () {
|
||||
_this2.show = false;
|
||||
});
|
||||
var timer = null;
|
||||
var types = queryAll('[data-video]', $infoPanel);
|
||||
var types = queryAll('[data-video]', $infoPanel) || [];
|
||||
this.art.on('destroy', function () {
|
||||
clearTimeout(timer);
|
||||
});
|
||||
|
||||
function loop() {
|
||||
types.forEach(function (item) {
|
||||
for (var index = 0; index < types.length; index++) {
|
||||
var item = types[index];
|
||||
var value = $video[item.dataset.video];
|
||||
item.innerText = typeof value === 'number' ? value.toFixed(2) : value;
|
||||
});
|
||||
}
|
||||
|
||||
timer = setTimeout(function () {
|
||||
loop();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
this.art.on('info', function (value) {
|
||||
clearTimeout(timer);
|
||||
|
||||
if (value) {
|
||||
loop();
|
||||
}
|
||||
});
|
||||
loop();
|
||||
}
|
||||
}]);
|
||||
|
||||
@@ -3988,9 +4004,9 @@
|
||||
}, {
|
||||
key: "destroy",
|
||||
value: function destroy() {
|
||||
this.destroyEvents.forEach(function (event) {
|
||||
return event();
|
||||
});
|
||||
for (var index = 0; index < this.destroyEvents.length; index++) {
|
||||
this.destroyEvents[index]();
|
||||
}
|
||||
}
|
||||
}]);
|
||||
|
||||
@@ -4045,9 +4061,11 @@
|
||||
|
||||
if (events) {
|
||||
event.preventDefault();
|
||||
events.forEach(function (fn) {
|
||||
return fn.call(art, event);
|
||||
});
|
||||
|
||||
for (var index = 0; index < events.length; index++) {
|
||||
events[index].call(art, event);
|
||||
}
|
||||
|
||||
art.emit('hotkey', event);
|
||||
}
|
||||
}
|
||||
@@ -4101,12 +4119,14 @@
|
||||
_classCallCheck(this, Layer);
|
||||
|
||||
_this = _super.call(this, art);
|
||||
var option = art.option,
|
||||
$layer = art.template.$layer;
|
||||
_this.name = 'layer';
|
||||
_this.$parent = art.template.$layer;
|
||||
_this.$parent = $layer;
|
||||
art.once('ready', function () {
|
||||
art.option.layers.forEach(function (item) {
|
||||
return _this.add(item);
|
||||
});
|
||||
for (var index = 0; index < option.layers.length; index++) {
|
||||
_this.add(option.layers[index]);
|
||||
}
|
||||
});
|
||||
return _this;
|
||||
}
|
||||
@@ -4422,9 +4442,9 @@
|
||||
name: 'playbackRate'
|
||||
}));
|
||||
|
||||
option.settings.forEach(function (item) {
|
||||
return _this.add(item);
|
||||
});
|
||||
for (var index = 0; index < option.settings.length; index++) {
|
||||
_this.add(option.settings[index]);
|
||||
}
|
||||
});
|
||||
art.on('blur', function () {
|
||||
_this.show = false;
|
||||
@@ -4540,7 +4560,10 @@
|
||||
if (template.$track && template.$track.track) {
|
||||
var cues = Array.from(template.$track.track.cues);
|
||||
var time = clamp(value, -5, 5);
|
||||
cues.forEach(function (cue, index) {
|
||||
|
||||
for (var index = 0; index < cues.length; index++) {
|
||||
var cue = cues[index];
|
||||
|
||||
if (!cuesCache[index]) {
|
||||
cuesCache[index] = {
|
||||
startTime: cue.startTime,
|
||||
@@ -4550,7 +4573,8 @@
|
||||
|
||||
cue.startTime = clamp(cuesCache[index].startTime + time, 0, art.duration);
|
||||
cue.endTime = clamp(cuesCache[index].endTime + time, 0, art.duration);
|
||||
});
|
||||
}
|
||||
|
||||
notice.show = "".concat(i18n.get('Subtitle offset time'), ": ").concat(value, "s");
|
||||
art.emit('subtitleOffset', value);
|
||||
} else {
|
||||
@@ -4728,8 +4752,6 @@
|
||||
|
||||
var Plugins = /*#__PURE__*/function () {
|
||||
function Plugins(art) {
|
||||
var _this = this;
|
||||
|
||||
_classCallCheck(this, Plugins);
|
||||
|
||||
this.art = art;
|
||||
@@ -4752,9 +4774,9 @@
|
||||
this.add(localSubtitle);
|
||||
}
|
||||
|
||||
art.option.plugins.forEach(function (plugin) {
|
||||
return _this.add(plugin);
|
||||
});
|
||||
for (var index = 0; index < option.plugins.length; index++) {
|
||||
this.add(option.plugins[index]);
|
||||
}
|
||||
}
|
||||
|
||||
_createClass(Plugins, [{
|
||||
@@ -4854,11 +4876,13 @@
|
||||
var option = art.option,
|
||||
proxy = art.events.proxy,
|
||||
$video = art.template.$video;
|
||||
config.events.forEach(function (eventName) {
|
||||
proxy($video, eventName, function (event) {
|
||||
|
||||
for (var index = 0; index < config.events.length; index++) {
|
||||
proxy($video, config.events[index], function (event) {
|
||||
art.emit("video:".concat(event.type), event);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Object.keys(option.moreVideoAttr).forEach(function (key) {
|
||||
$video[key] = option.moreVideoAttr[key];
|
||||
});
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrMix.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.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/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/_screenfull@5.0.2@screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMix.js","../../packages/artplayer/src/player/rotateMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/autoHeightMix.js","../../packages/artplayer/src/player/themeMix.js","../../packages/artplayer/src/player/titleMix.js","../../packages/artplayer/src/player/exclusiveMix.js","../../packages/artplayer/src/player/optionInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/srcLine truncated
|
||||
{"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrMix.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.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/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/_screenfull@5.0.2@screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMix.js","../../packages/artplayer/src/player/rotateMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/autoHeightMix.js","../../packages/artplayer/src/player/themeMix.js","../../packages/artplayer/src/player/titleMix.js","../../packages/artplayer/src/player/exclusiveMix.js","../../packages/artplayer/src/player/optionInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/srcLine truncated
|
||||
@@ -61,7 +61,9 @@ export default class Contextmenu extends Component {
|
||||
}),
|
||||
);
|
||||
|
||||
option.contextmenu.forEach((item) => this.add(item));
|
||||
for (let index = 0; index < option.contextmenu.length; index++) {
|
||||
this.add(option.contextmenu[index]);
|
||||
}
|
||||
|
||||
proxy($player, 'contextmenu', (event) => {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -160,7 +160,9 @@ export default class Control extends Component {
|
||||
}),
|
||||
);
|
||||
|
||||
option.controls.forEach((item) => this.add(item));
|
||||
for (let index = 0; index < option.controls.length; index++) {
|
||||
this.add(option.controls[index]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -93,13 +93,14 @@ export default function progress(options) {
|
||||
}
|
||||
}
|
||||
|
||||
option.highlight.forEach((item) => {
|
||||
for (let index = 0; index < option.highlight.length; index++) {
|
||||
const item = option.highlight[index];
|
||||
const left = (clamp(item.time, 0, art.duration) / art.duration) * 100;
|
||||
append(
|
||||
$highlight,
|
||||
`<span data-text="${item.text}" data-time="${item.time}" style="left: ${left}%"></span>`,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
setBar('loaded', art.loaded);
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { secondToTime } from '../utils';
|
||||
|
||||
export default function time(option) {
|
||||
return art => ({
|
||||
return (art) => ({
|
||||
...option,
|
||||
mounted: $control => {
|
||||
mounted: ($control) => {
|
||||
function getTime() {
|
||||
const newTime = `${secondToTime(art.currentTime)} / ${secondToTime(art.duration)}`;
|
||||
if (newTime !== $control.innerText) {
|
||||
@@ -12,9 +12,11 @@ export default function time(option) {
|
||||
}
|
||||
|
||||
getTime();
|
||||
['video:loadedmetadata', 'video:timeupdate', 'video:progress'].forEach(event => {
|
||||
art.on(event, getTime);
|
||||
});
|
||||
|
||||
const events = ['video:loadedmetadata', 'video:timeupdate', 'video:progress'];
|
||||
for (let index = 0; index < events.length; index++) {
|
||||
art.on(events[index], getTime);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
@@ -68,6 +68,8 @@ export default class Events {
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.destroyEvents.forEach((event) => event());
|
||||
for (let index = 0; index < this.destroyEvents.length; index++) {
|
||||
this.destroyEvents[index]();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -43,7 +43,9 @@ export default class Hotkey {
|
||||
const events = this.keys[event.keyCode];
|
||||
if (events) {
|
||||
event.preventDefault();
|
||||
events.forEach((fn) => fn.call(art, event));
|
||||
for (let index = 0; index < events.length; index++) {
|
||||
events[index].call(art, event);
|
||||
}
|
||||
art.emit('hotkey', event);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,15 +5,15 @@ export default class Info extends Component {
|
||||
constructor(art) {
|
||||
super(art);
|
||||
this.name = 'info';
|
||||
if (this.art.template.$info) {
|
||||
art.once('ready', () => {
|
||||
this.init();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
init() {
|
||||
const {
|
||||
template: { $infoPanel, $infoClose, $video },
|
||||
events: { proxy },
|
||||
template: { $infoPanel, $infoClose, $video },
|
||||
} = this.art;
|
||||
|
||||
proxy($infoClose, 'click', () => {
|
||||
@@ -21,27 +21,24 @@ export default class Info extends Component {
|
||||
});
|
||||
|
||||
let timer = null;
|
||||
const types = queryAll('[data-video]', $infoPanel);
|
||||
const types = queryAll('[data-video]', $infoPanel) || [];
|
||||
|
||||
this.art.on('destroy', () => {
|
||||
clearTimeout(timer);
|
||||
});
|
||||
|
||||
function loop() {
|
||||
types.forEach((item) => {
|
||||
for (let index = 0; index < types.length; index++) {
|
||||
const item = types[index];
|
||||
const value = $video[item.dataset.video];
|
||||
item.innerText = typeof value === 'number' ? value.toFixed(2) : value;
|
||||
});
|
||||
}
|
||||
|
||||
timer = setTimeout(() => {
|
||||
loop();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
this.art.on('info', (value) => {
|
||||
clearTimeout(timer);
|
||||
if (value) {
|
||||
loop();
|
||||
}
|
||||
});
|
||||
loop();
|
||||
}
|
||||
}
|
||||
@@ -3,10 +3,19 @@ import Component from './utils/component';
|
||||
export default class Layer extends Component {
|
||||
constructor(art) {
|
||||
super(art);
|
||||
|
||||
const {
|
||||
option,
|
||||
template: { $layer },
|
||||
} = art;
|
||||
|
||||
this.name = 'layer';
|
||||
this.$parent = art.template.$layer;
|
||||
this.$parent = $layer;
|
||||
|
||||
art.once('ready', () => {
|
||||
art.option.layers.forEach((item) => this.add(item));
|
||||
for (let index = 0; index < option.layers.length; index++) {
|
||||
this.add(option.layers[index]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -9,11 +9,11 @@ export default class Mobile {
|
||||
template: { $video },
|
||||
} = art;
|
||||
|
||||
config.events.forEach((eventName) => {
|
||||
proxy($video, eventName, (event) => {
|
||||
for (let index = 0; index < config.events.length; index++) {
|
||||
proxy($video, config.events[index], (event) => {
|
||||
art.emit(`video:${event.type}`, event);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Object.keys(option.moreVideoAttr).forEach((key) => {
|
||||
$video[key] = option.moreVideoAttr[key];
|
||||
|
||||
@@ -21,11 +21,11 @@ export default function eventInit(art) {
|
||||
art.fullscreen = !art.fullscreen;
|
||||
});
|
||||
|
||||
config.events.forEach((eventName) => {
|
||||
proxy($video, eventName, (event) => {
|
||||
for (let index = 0; index < config.events.length; index++) {
|
||||
proxy($video, config.events[index], (event) => {
|
||||
art.emit(`video:${event.type}`, event);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// art.on('video:abort', () => {
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@ export default function exclusiveMix(art) {
|
||||
const sizeProps = ['mini', 'pip', 'fullscreen', 'fullscreenWeb'];
|
||||
|
||||
function exclusive(props) {
|
||||
props.forEach((name) => {
|
||||
for (let index = 0; index < props.length; index++) {
|
||||
const name = props[index];
|
||||
art.on(name, () => {
|
||||
if (art[name]) {
|
||||
props
|
||||
@@ -16,7 +17,7 @@ export default function exclusiveMix(art) {
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
exclusive(sizeProps);
|
||||
|
||||
@@ -21,7 +21,12 @@ export default function playMix(art) {
|
||||
}
|
||||
|
||||
if (option.mutex) {
|
||||
instances.filter((item) => item !== art).forEach((item) => item.pause());
|
||||
for (let index = 0; index < instances.length; index++) {
|
||||
const instance = instances[index];
|
||||
if (instance !== art) {
|
||||
instance.pause();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
notice.show = i18n.get('Play');
|
||||
|
||||
@@ -7,13 +7,15 @@ export default function rectMix(art) {
|
||||
},
|
||||
});
|
||||
|
||||
['bottom', 'height', 'left', 'right', 'top', 'width'].forEach((key) => {
|
||||
const keys = ['bottom', 'height', 'left', 'right', 'top', 'width'];
|
||||
for (let index = 0; index < keys.length; index++) {
|
||||
const key = keys[index];
|
||||
def(art, key, {
|
||||
get: () => {
|
||||
return art.rect[key];
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
def(art, 'x', {
|
||||
get: () => {
|
||||
|
||||
@@ -27,7 +27,9 @@ export default class Plugins {
|
||||
this.add(localSubtitle);
|
||||
}
|
||||
|
||||
art.option.plugins.forEach((plugin) => this.add(plugin));
|
||||
for (let index = 0; index < option.plugins.length; index++) {
|
||||
this.add(option.plugins[index]);
|
||||
}
|
||||
}
|
||||
|
||||
add(plugin) {
|
||||
|
||||
@@ -60,7 +60,9 @@ export default function subtitleOffset(art) {
|
||||
if (template.$track && template.$track.track) {
|
||||
const cues = Array.from(template.$track.track.cues);
|
||||
const time = clamp(value, -5, 5);
|
||||
cues.forEach((cue, index) => {
|
||||
|
||||
for (let index = 0; index < cues.length; index++) {
|
||||
const cue = cues[index];
|
||||
if (!cuesCache[index]) {
|
||||
cuesCache[index] = {
|
||||
startTime: cue.startTime,
|
||||
@@ -69,7 +71,8 @@ export default function subtitleOffset(art) {
|
||||
}
|
||||
cue.startTime = clamp(cuesCache[index].startTime + time, 0, art.duration);
|
||||
cue.endTime = clamp(cuesCache[index].endTime + time, 0, art.duration);
|
||||
});
|
||||
}
|
||||
|
||||
notice.show = `${i18n.get('Subtitle offset time')}: ${value}s`;
|
||||
art.emit('subtitleOffset', value);
|
||||
} else {
|
||||
|
||||
@@ -54,7 +54,9 @@ export default class Setting extends Component {
|
||||
}),
|
||||
);
|
||||
|
||||
option.settings.forEach((item) => this.add(item));
|
||||
for (let index = 0; index < option.settings.length; index++) {
|
||||
this.add(option.settings[index]);
|
||||
}
|
||||
});
|
||||
|
||||
art.on('blur', () => {
|
||||
|
||||
Reference in new issue
Block a user