PageSourceSearch

https://margaretatwood.ca/wp-content/plugins/video-popup/js/YouTubePopUp.jquery.js?ver=1790273123

js margaretatwood.ca collected 2026-09-24 18:05:53 UTC 4,406 bytes, 112 lines download raw bytes

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.