1/* 2 Name: YouTubePopUp 3 Description: jQuery plugin to display YouTube, Vimeo, and MP4 video in a pop-up. Responsive, retina ready, and easy to use. 4 Version: 1.1.2 5 Written By: Alobaidi 6 Live Demo: https://wp-plugins.in/VP-Live-Demos 7 Copyright 2020 Alobaidi (email: [email protected]) 8*/ 9 10(function ( $ ) { 11 12 $.fn.YouTubePopUp = function(options) { 13 14 var YouTubePopUpOptions = $.extend({ 15 autoplay: 1 16 }, options ); 17 18 19 $(this).on('click', function (e) { 20 21 var youtubeLink = $(this).attr("href"); 22 23 var dataSoundCloud = $(this).attr('data-soundcloud'); 24 25 var disWrap = $(this).attr('data-dwrap'); 26 27 var videoType = ' vp-vt-youtube'; 28 29 if ( youtubeLink.match(/(youtube.com)/) || youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(vimeo.com)/) ) { 30 31 if( youtubeLink.match(/(youtube.com)/) ){ 32 var split_c = "v="; 33 var split_n = 1; 34 } 35 36 if( youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(vimeo.com\/)+[0-9]/) ){ 37 var split_c = "/"; 38 var split_n = 3; 39 } 40 41 if( youtubeLink.match(/(vimeo.com\/)+[a-zA-Z]/) ){ 42 var split_c = "/"; 43 var split_n = 5; 44 } 45 46 var getYouTubeVideoID = youtubeLink.split(split_c)[split_n]; 47 48 var cleanVideoID = getYouTubeVideoID.replace(/(&)+(.*)/, ""); 49 50 if( youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(youtube.com)/) ){ 51 var videoEmbedLink = "https://www.youtube.com/embed/"+cleanVideoID+"?autoplay="+YouTubePopUpOptions.autoplay+""; 52 var iframe_element = '<iframe src="'+videoEmbedLink+'" allow="autoplay" allowfullscreen></iframe>'; 53 } 54 55 if( youtubeLink.match(/(vimeo.com\/)+[0-9]/) || youtubeLink.match(/(vimeo.com\/)+[a-zA-Z]/) ){ 56 var videoEmbedLink = "https://player.vimeo.com/video/"+cleanVideoID+"?autoplay="+YouTubePopUpOptions.autoplay+""; 57 var iframe_element = '<iframe src="'+videoEmbedLink+'" allow="autoplay" allowfullscreen></iframe>'; 58 var videoType = ' vp-vt-vimeo'; 59 } 60 61 }else{ 62 if( dataSoundCloud ){ 63 var data_embed_sc = $(this).attr('data-embedsc'); 64 var iframe_element = '<iframe src="'+data_embed_sc+'" allow="autoplay" allowfullscreen></iframe>'; 65 var videoType = ' vp-vt-soundcloud'; 66 }else{ 67 if( YouTubePopUpOptions.autoplay == 1 ){ 68 var locally_options = 'controls autoplay controlsList="nodownload"'; 69 }else{ 70 var locally_options = 'controls controlsList="nodownload"'; 71 } 72 var iframe_element = '<video '+locally_options+'><source src="'+youtubeLink+'" type="video/mp4"></video>'; 73 var videoType = ' vp-vt-locally'; 74 } 75 } 76 77 if( disWrap || $(this).hasClass('vp-dw') || video_popup_unprm_general_settings.unprm_r_border ){ 78 var disWrapClass = ' vp-flex-no-border'; 79 }else{ 80 var disWrapClass = ''; 81 } 82 83 $("body").append('<div style="display:none;" class="YouTubePopUp-Wrap VideoPopUpWrap"></div>'); 84 85 $(".VideoPopUpWrap").fadeIn(300); 86 87 $(".VideoPopUpWrap").append('<div class="Video-PopUp-Content"><div class="vp-flex'+disWrapClass+videoType+'"><span class="YouTubePopUp-Close"></span>'+iframe_element+'</div></div>'); 88 89 90 $(".YouTubePopUp-Wrap, .YouTubePopUp-Close").click(function(){ 91 $(".YouTubePopUp-Wrap").fadeOut(300).delay(325).queue(function() { $(this).remove(); }); 92 }); 93 94 $('.vp-flex, .vp-flex *').click(function(e){
95 e.stopPropagation(); 96 }); 97 98 e.preventDefault(); 99 100 }); 101 102 $(document).keyup(function(e) { 103 104 if ( e.keyCode == 27 ){ 105 $('.YouTubePopUp-Close').click(); 106 } 107 108 }); 109 110 }; 111 112}( jQuery ));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.