/**
* @license
* Video.js 7.8.4 <http://videojs.com/>
* Copyright Brightcove, Inc. <https://www.brightcove.com/>
* Available under Apache License Version 2.0
* <https://github.com/videojs/video.js/blob/master/LICENSE>
*
* Includes vtt.js <https://github.com/mozilla/vtt.js>
* Available under Apache License Version 2.0
* <https://github.com/mozilla/vtt.js/blob/master/LICENSE>
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('global/window'), require('global/document')) :
typeof define === 'function' && define.amd ? define(['global/window', 'global/document'], factory) :
(global = global || self, global.videojs = factory(global.window, global.document));
}(this, (function (window$3, document) { 'use strict';
window$3 = window$3 && Object.prototype.hasOwnProperty.call(window$3, 'default') ? window$3['default'] : window$3;
document = document && Object.prototype.hasOwnProperty.call(document, 'default') ? document['default'] : document;
var version = "7.8.4";
/**
* @file create-logger.js
* @module create-logger
*/
var history = [];
/**
* Log messages to the console and history based on the type of message
*
* @private
* @param {string} type
* The name of the console method to use.
*
* @param {Array} args
* The arguments to be passed to the matching console method.
*/
var LogByTypeFactory = function LogByTypeFactory(name, log) {
return function (type, level, args) {
var lvl = log.levels[level];
var lvlRegExp = new RegExp("^(" + lvl + ")$");
if (type !== 'log') {
// Add the type to the front of the message when it's not "log".
args.unshift(type.toUpperCase() + ':');
} // Add console prefix after adding to history.
args.unshift(name + ':'); // Add a clone of the args at this point to history.
if (history) {
history.push([].concat(args)); // only store 1000 history entries
var splice = history.length - 1000;
history.splice(0, splice > 0 ? splice : 0);
} // If there's no console then don't try to output messages, but they will
// still be stored in history.
if (!window$3.console) {
return;
} // Was setting these once outside of this function, but containing them
// in the function makes it easier to test cases where console doesn't exist
// when the module is executed.
var fn = window$3.console[type];
if (!fn && type === 'debug') {
// Certain browsers don't have support for console.debug. For those, we
// should default to the closest comparable log.
fn = window$3.console.info || window$3.console.log;
} // Bail out if there's no console or if this type is not allowed by the
// current logging level.
if (!fn || !lvl || !lvlRegExp.test(type)) {
return;
}
fn[Array.isArray(args) ? 'apply' : 'call'](window$3.console, args);
};
};
function createLogger(name) {
// This is the private tracking variable for logging level.
var level = 'info'; // the curried logByType bound to the specific log and history
var logByType;
/**
* Logs plain debug messages. Similar to `console.log`.
*
* Due to [limitations](https://github.com/jsdoc3/jsdoc/issues/955#issuecomment-313829149)
* of our JSDoc template, we cannot properly document this as both a function
* and a namespace, so its function signature is documented here.
*
* #### Arguments
* ##### *args
* Mixed[]
*
* Any combination of values that could be passed to `console.log()`.
*
* #### Return Value
*
* `undefined`
*
* @namespace
* @param {Mixed[]} args
* One or more messages or objects that should be logged.
*/
var log = function log() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
logByType('log', level, args);
}; // This is the logByType helper that the logging methods below use
logByType = LogByTypeFactory(name, log);
/**
* Create a new sublogger which chains the old name to the new name.
*
* For example, doing `videojs.log.createLogger('player')` and then using that logger will log the following:
* ```js
* mylogger('foo');
* // > VIDEOJS: player: foo
* ```
*
* @param {string} name
* The name to add call the new logger
* @return {Object}
*/
log.createLogger = function (subname) {
return createLogger(name + ': ' + subname);
};
/**
* Enumeration of available logging levels, where the keys are the level names
* and the values are `|`-separated strings containing logging methods allowed
* in that logging level. These strings are used to create a regular expression
* matching the function name being called.
*
* Levels provided by Video.js are:
*
* - `off`: Matches no calls. Any value that can be cast to `false` will have
* this effect. The most restrictive.
* - `all`: Matches only Video.js-provided functions (`debug`, `log`,
* `log.warn`, and `log.error`).
* - `debug`: Matches `log.debug`, `log`, `log.warn`, and `log.error` calls.
* - `info` (default): Matches `log`, `log.warn`, and `log.error` calls.
* - `warn`: Matches `log.warn` and `log.error` calls.
* - `error`: Matches only `log.error` calls.
*
* @type {Object}
*/
log.levels = {
all: 'debug|log|warn|error',
off: '',
debug: 'debug|log|warn|error',
info: 'log|warn|error',
warn: 'warn|error',
error: 'error',
DEFAULT: level
};
/**
* Get or set the current logging level.
*
* If a string matching a key from {@link module:log.levels} is provided, acts
* as a setter.
*
* @param {string} [lvl]
* Pass a valid level to set a new logging level.
*
* @return {string}
* The current logging level.
*/
log.level = function (lvl) {
if (typeof lvl === 'string') {
if (!log.levels.hasOwnProperty(lvl)) {
throw new Error("\"" + lvl + "\" in not a valid log level");
}
level = lvl;
}
return level;
};
/**
* Returns an array containing everything that has been logged to the history.
*
* This array is a shallow clone of the internal history record. However, its
* contents are _not_ cloned; so, mutating objects inside this array will
* mutate them in history.
*
* @return {Array}
*/
log.history = function () {
return history ? [].concat(history) : [];
};
/**
* Allows you to filter the history by the given logger name
*
* @param {string} fname
* The name to filter by
*
* @return {Array}
* The filtered list to return
*/
log.history.filter = function (fname) {
return (history || []).filter(function (historyItem) {
// if the first item in each historyItem includes `fname`, then it's a match
return new RegExp(".*" + fname + ".*").test(historyItem[0]);
});
};
/**
* Clears the internal history tracking, but does not prevent further history
* tracking.
*/
log.history.clear = function () {
if (history) {
history.length = 0;
}
};
/**
* Disable history tracking if it is currently enabled.
*/
log.history.disable = function () {
if (history !== null) {
history.length = 0;
history = null;
}
};
/**
* Enable history tracking if it is currently disabled.
*/
log.history.enable = function () {
if (history === null) {
history = [];
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经
资源推荐
资源详情
资源评论
收起资源包目录
基于ssm+mysql疫情冷链追溯系统源码数据库.zip (6894个子文件)
00219e73e3889323103d144a76fcd20325257e 198B
0081d1318531b6c30eaf0d748bf80a0b2e042a 181B
00881db80bb90c7b9350e3832c23df8b1c64c8 58KB
009d48cdb58eb8926b84e0007e108d5e5afeac 266B
009d633fbcc1a68e6c60cde7b1d5dd7a77dee6 985B
00bbc031c079871215902d6d1646dcfe334a20 192B
00f208bc239528e8fc15732766dfa7a1e2ca52 893B
010838c7e4e8d7558c6096d20f453155511485 196B
01108bad275530fb59379292019b4d2b8e738f 973B
011a1ce218da6b16babc997882a9e06f28af88 306B
0120e030e39d97a638f7c82e482d20ca1bf175 788B
0121e14c8a70d21beef1315fa5e4043edecae7 372B
012b661eb313ae11a6c494b5eebfa82754f5f7 85B
0140cff67999e0b6daf269723e019335f5fee6 4KB
01522eb86c6462333de976a97cec92302504e2 653B
016cbd532a841350d179c2b399a35b139b830f 473B
017e662db0fecdadb6222e54bede42c60c4fdf 140B
019f8ff85d7520cd36fa6f67c6311996228217 1KB
01f732ab20860ce70676086005830dfdd9b9ab 2KB
020f2f2e85a0e09ba146c08f69aa88ca8bbb9a 2KB
021740609538d61b5517df9794c829e023d946 125B
02426c114be4b57aabc0a80b8a63d9e56b9eb6 4KB
02595d3512a0b8a59672a0d5d7d5b56f8d0c4e 335B
027b41587a1e5f9fcc5569961561822b75ba14 93KB
029eda57b1d5ea52a3a16b665701eb59ae008f 4KB
02b645fc79efd712fac2c73c43df747ab1aeb0 412KB
032aabd85b43a058cfc7025dd4fa9dd325ea97 187B
03351a40491c7e1338c22cfce691e5b41fdfde 1KB
034662a83796a0a100b4b23844dd07bb03c8c9 2KB
035127135e3467bf6aa306bb265a249efcfdd6 25KB
039073d545c8d2271b42ab556159e9c55d9e31 317B
03a4a16c6751a4424872b79242f19b0cc954df 232B
03dd5e2db3ec9c6aba5735cace84690e774835 1KB
03e2235490226a598e426b2b4ec06b1f738eb9 651B
03eb0e2873746850a15432e6f442f248a9b5d8 490B
03f20fb1197edf0433ff99759cb6399d0f99f9 2KB
04013354f45041311d8d6235e6e18471918124 197B
04139183b01c377f03c128f59d0f74b7f1faad 2KB
042da5d7248dc4cf8a11bad4a231438c4942d9 135B
043e9267dde5625a72b5ae36bddefb73636742 2KB
0463d640cc7ae43fc1758ffcb149059765ed75 51B
048c9b5c8820a2a55f9a9fc4339d70616cd527 841B
04f005a7e06b1d4c6188dfc64f08644fbe2bba 444B
0517f27a0698bd7dfd05430268552721e8d773 36B
057888ea6916ea6abd95329d67ccc90d9a6246 319B
058356aeebcf230f3376db8c72d301f60b5928 128KB
058f9358a9632c9982193873c9f26cef451f71 833B
0595bd1945832e8b2387d15b03aac7c1f9823e 94B
05aacaf7561142094e0d7a8c468bd5cc1c0501 246B
05c7f1546443a317f9328f73bcc01e6ef2311a 4KB
05eb40eb767731c8119ebb8328094045eadd18 697B
060b6d1c4eb2ee160150a491cec38d3f9faa42 328B
061e15e829833818bd5b88399ef98c71f143d6 795B
062d403d5d067c7d77c7782ea27375e3f66d00 2KB
06362ae79c03049de0687da8c65a85bd2f0619 697B
0659729732665e62491a5f13dc45644f11a8f6 477B
06829428c151a25b7c0d9455b1404fd5cc876c 197B
06c70a9ffcc0263e63255504bf335061660254 1KB
06d1ac116e91127d58193c77a4369ce06f0260 2KB
071b052254cfb027f08160cc01a022e16aa72b 556B
0735fbdc2b98a5369d2f72ffe5d76474764b09 24KB
073add014098b169087667ca4f2656a7d2971e 3KB
0751b4bf2e81845c95b9e931784b9a88139b21 74B
0772e057c6c8af7549fc603c5bca2dc1a15fca 2KB
077af34dc94be9f7e5d981c71bf1f16b0f5e62 427B
07cb507fa6b3f0a753f73a81726b823a81d0ad 289KB
07ce7e72e1e743a352c6436d0acd9bcdd71af6 271B
07e93e1474ba6b32e3ca68830ab46cb02d279f 289B
083b7acd7fd055d3c28ca45c4977ee2a127ac4 2KB
083e8749a300d0b23bcadd40a41eeba4c2ae0e 269B
0840a089d8c31617f2ef538758185b6a7c4987 72B
0841cba2fe51c604a6ed63d9fa119dc4f7a73a 4KB
086824b4cb1ce191552d2b35c3bb60aa3b89d4 2KB
086ac1ced0460b4913c73c2fd564edb232cf44 319B
087dc1f0874acc8d52de62f8de58d13f73cc7e 6KB
0897e40b26a3cc6529cb4ab5c2de8cd35a15c5 7KB
089c735771bd4fea8a787c18064201ba5b320a 4KB
08b08b35603e247f059ceb0b796c5898466883 3KB
08b4c8519355e1110847267a914e516fcbdb1a 39KB
090bca0e7e240ca3fbe999c54109312fbeb7c4 47KB
090f4b567c4f51d0b6cc8d28c9caa7bc08d799 128B
094fa9eb7b30c170c04687970464ee91d9defb 3KB
099691193d60f80317c3d5430f9014fee6506b 132B
09c43506be343dc3cb3c33f7ee77d49e7138dc 211B
09d336a30070add12af16be11397ac97436234 1KB
09dfb9d9f98f39d71d2a4ecc3110332b969fd3 21B
09e16a89ccfdccdd75cb7d67cfa5dcef7c10d5 1KB
09e8b2ea391632c174fefc9e2f92c41abd9e29 494B
09ebfaa8f41cf9870ad168a5ef71e8e9048365 55B
0a01babc5ba6e44c8efa93520dca9b0e6349f7 203B
0a38d4b34a77331be9eda722ea0b2d77ef49a0 27KB
0a39e81ced92b842007d6ef80b21c78888b62a 700B
0a5464efe8d9974051b2af88eaa1f5fc7fd54d 3KB
0ab80737568273aa44808331e6f53eb7f374bb 169B
0ad766c4af1018cb397f42f1f909233b65c59d 646B
0ad7dea10b4ee8d906944e5b3acaa5a6538773 181B
0adcd8db9d3a2d25e5f5a5ad42c0b010d38a4b 21KB
0ae564b53176961314c5e442ef78dfaa690c28 3KB
0aee5bfac438c1cee2b43beb0415e91a6af725 450B
0afba41c7751f149642bd9d51ed40ad438ca58 3KB
共 6894 条
- 1
- 2
- 3
- 4
- 5
- 6
- 69
资源评论
老歪不歪
- 粉丝: 31
- 资源: 4041
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功