mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 17:59:55 +02:00
Update libs
This commit is contained in:
parent
19600bd4c1
commit
46eddf2162
44 changed files with 6047 additions and 0 deletions
120
node_modules/jquery-lazy/plugins/jquery.lazy.av.js
generated
vendored
Normal file
120
node_modules/jquery-lazy/plugins/jquery.lazy.av.js
generated
vendored
Normal file
|
@ -0,0 +1,120 @@
|
|||
/*!
|
||||
* jQuery & Zepto Lazy - AV Plugin - v1.4
|
||||
* http://jquery.eisbehr.de/lazy/
|
||||
*
|
||||
* Copyright 2012 - 2018, Daniel 'Eisbehr' Kern
|
||||
*
|
||||
* Dual licensed under the MIT and GPL-2.0 licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*/
|
||||
;(function($) {
|
||||
// loads audio and video tags including tracks by two ways, like:
|
||||
// <audio>
|
||||
// <data-src src="audio.ogg" type="video/ogg"></data-src>
|
||||
// <data-src src="audio.mp3" type="video/mp3"></data-src>
|
||||
// </audio>
|
||||
// <video data-poster="poster.jpg">
|
||||
// <data-src src="video.ogv" type="video/ogv"></data-src>
|
||||
// <data-src src="video.webm" type="video/webm"></data-src>
|
||||
// <data-src src="video.mp4" type="video/mp4"></data-src>
|
||||
// <data-track kind="captions" src="captions.vtt" srclang="en"></data-track>
|
||||
// <data-track kind="descriptions" src="descriptions.vtt" srclang="en"></data-track>
|
||||
// <data-track kind="subtitles" src="subtitles.vtt" srclang="de"></data-track>
|
||||
// </video>
|
||||
//
|
||||
// or:
|
||||
// <audio data-src="audio.ogg|video/ogg,video.mp3|video/mp3"></video>
|
||||
// <video data-poster="poster.jpg" data-src="video.ogv|video/ogv,video.webm|video/webm,video.mp4|video/mp4">
|
||||
// <data-track kind="captions" src="captions.vtt" srclang="en"></data-track>
|
||||
// <data-track kind="descriptions" src="descriptions.vtt" srclang="en"></data-track>
|
||||
// <data-track kind="subtitles" src="subtitles.vtt" srclang="de"></data-track>
|
||||
// </video>
|
||||
$.lazy(['av', 'audio', 'video'], ['audio', 'video'], function(element, response) {
|
||||
var elementTagName = element[0].tagName.toLowerCase();
|
||||
|
||||
if (elementTagName === 'audio' || elementTagName === 'video') {
|
||||
var srcAttr = 'data-src',
|
||||
sources = element.find(srcAttr),
|
||||
tracks = element.find('data-track'),
|
||||
sourcesInError = 0,
|
||||
|
||||
// create on error callback for sources
|
||||
onError = function() {
|
||||
if (++sourcesInError === sources.length) {
|
||||
response(false);
|
||||
}
|
||||
},
|
||||
|
||||
// create callback to handle a source or track entry
|
||||
handleSource = function() {
|
||||
var source = $(this),
|
||||
type = source[0].tagName.toLowerCase(),
|
||||
attributes = source.prop('attributes'),
|
||||
target = $(type === srcAttr ? '<source>' : '<track>');
|
||||
|
||||
if (type === srcAttr) {
|
||||
target.one('error', onError);
|
||||
}
|
||||
|
||||
$.each(attributes, function(index, attribute) {
|
||||
target.attr(attribute.name, attribute.value);
|
||||
});
|
||||
|
||||
source.replaceWith(target);
|
||||
};
|
||||
|
||||
// create event for successfull load
|
||||
element.one('loadedmetadata', function() {
|
||||
response(true);
|
||||
})
|
||||
|
||||
// remove default callbacks to ignore loading poster image
|
||||
.off('load error')
|
||||
|
||||
// load poster image
|
||||
.attr('poster', element.attr('data-poster'));
|
||||
|
||||
// load by child tags
|
||||
if (sources.length) {
|
||||
sources.each(handleSource);
|
||||
}
|
||||
|
||||
// load by attribute
|
||||
else if (element.attr(srcAttr)) {
|
||||
// split for every entry by comma
|
||||
$.each(element.attr(srcAttr).split(','), function(index, value) {
|
||||
// split again for file and file type
|
||||
var parts = value.split('|');
|
||||
|
||||
// create a source entry
|
||||
element.append($('<source>')
|
||||
.one('error', onError)
|
||||
.attr({src: parts[0].trim(), type: parts[1].trim()}));
|
||||
});
|
||||
|
||||
// remove now obsolete attribute
|
||||
if (this.config('removeAttribute')) {
|
||||
element.removeAttr(srcAttr);
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
// pass error state
|
||||
// use response function for Zepto
|
||||
response(false);
|
||||
}
|
||||
|
||||
// load optional tracks
|
||||
if (tracks.length) {
|
||||
tracks.each(handleSource);
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
// pass error state
|
||||
// use response function for Zepto
|
||||
response(false);
|
||||
}
|
||||
});
|
||||
})(window.jQuery || window.Zepto);
|
Loading…
Add table
Add a link
Reference in a new issue