PageSourceSearch

https://www.italotribu.org/wp-content/plugins/youtube-embed-plus/scripts/fitvids.js?ver=14.2.6

js italotribu.org collected 2026-10-09 00:03:15 UTC 6,930 bytes, 182 lines download raw bytes

1var epdofitvids = epdofitvids || function ($)
2{
3
4    $.fn.fitVidsEP = function (options)
5    {
6        if (_EPYT_.epresponsiveselector.constructor !== Array)
7        {
8            _EPYT_.epresponsiveselector = JSON.parse(_EPYT_.epresponsiveselector);
9        }
10        var settings = {
11            customSelector: null
12        };
13
14        if (!document.getElementById('fit-vids-style'))
15        {
16
17            var styleContainer = document.createElement('style'),
18                    ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0],
19                    cssStyles = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
20
21            styleContainer.className = 'fit-vids-style';
22            styleContainer.id = 'fit-vids-style';
23            styleContainer.textContent = cssStyles;
24
25            ref.parentNode.insertBefore(styleContainer, ref);
26
27        }
28
29        if (options)
30        {
31            $.extend(settings, options);
32        }
33
34        return this.each(function ()
35        {
36//            var selectors = [
37//            "iframe[src*='youtube.com']",
38//            "iframe[src*='youtube-nocookie.com']"
39//            ];
40            var selectors = _EPYT_.epresponsiveselector;
41
42            if (settings.customSelector)
43            {
44                selectors.push(settings.customSelector);
45            }
46
47            var $allVideos = $(this).find(selectors.join(','));
48            $allVideos = $allVideos.not("object object"); // SwfObj conflict patch
49
50            $allVideos.each(function ()
51            {
52                var $this = $(this);
53                if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length
54                        || $this.parent('.fluid-width-video-wrapper').length
55                        || $this.css('position') === 'absolute'
56                        )
57                {
58                    return;
59                }
60                if ($this.is('[data-origwidth]:not([width])'))
61                {
62                    $this.attr('width', $this.data('origwidth'));
63                }
64                if ($this.is('[data-origheight]:not([height])'))
65                {
66                    $this.attr('height', $this.data('origheight'));
67                }
68
69                var height = (this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10)))) ? parseInt($this.attr('height'), 10) : $this.height(),
70                        width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
71                        aspectRatio = height / width;
72
73                if (!$this.attr('id'))
74                {
75                    var videoID = 'fitvid' + Math.floor(Math.random() * 999999);
76                    $this.attr('id', videoID);
77                }
78
79                var attrWidth = $this.attr('width');
80                var attrHeight = $this.attr('height');
81                if ($this.parent().hasClass('epyt-video-wrapper'))
82                {
83                    try
84                    {
85                        $this.parent().addClass('fluid-width-video-wrapper').attr('style', 'padding-top: ' + (aspectRatio * 100) + "% !important;");
86                        $this.removeAttr('height').removeAttr('width');
87
88                        setTimeout(function ()
89                        {
90                            var resizeEvent = null;
91                            if (typeof (Event) === 'function')
92                            {
93                                resizeEvent = new Event('resize');
94                            }
95                            else
96                            {
97                                resizeEvent = document.createEvent('Event');
98                                resizeEvent.initEvent('resize', true, true);
99                            }
100                            window.dispatchEvent(resizeEvent);
101                        }, 10);
102
103                        setTimeout(function ()
104                        {
105                            if (parseInt($this.parent().css('padding-top'), 10) > $this.height() + 20)
106                            {
107                                $this.parent().removeClass('fluid-width-video-wrapper').css('padding-top', '');
108                                $this.attr('width', attrWidth);
109                                $this.attr('height', attrHeight);
110                            }
111                        }, 100);
112                    }
113                    catch (wraperr)
114                    {
115                    }
116                }
117                else
118                {
119                    var fwvwrap = document.createElement('div');
120                    fwvwrap.className = 'fluid-width-video-wrapper';
121                    try
122                    {
123                        $this.wrap(fwvwrap).parent('.fluid-width-video-wrapper').attr('style', 'padding-top: ' + (aspectRatio * 100) + "% !important;");
124                        $this.removeAttr('height').removeAttr('width');
125
126                        setTimeout(function ()
127                        {
128                            var resizeEvent = null;
129                            if (typeof (Event) === 'function')
130                            {
131                                resizeEvent = new Event('resize');
132                            }
133                            else
134                            {
135                                resizeEvent = document.createEvent('Event');
136                                resizeEvent.initEvent('resize', true, true);
137                            }
138                            window.dispatchEvent(resizeEvent);
139                        }, 10);
140
141                        setTimeout(function ()
142                        {
143                            if (parseInt($this.parent().css('padding-top'), 10) > $this.height() + 20)
144                            {
145                                $this.parent().removeClass('fluid-width-video-wrapper').css('padding-top', '');
146                                $this.attr('width', attrWidth);
147                                $this.attr('height', attrHeight);
148                            }
149                        }, 100);
150                    }
151                    catch (wraperr)
152                    {
153                    }
154                }
155            });
156        });
157    };
158
159    $(document).ready(function ()
160    {
161        $("body").fitVidsEP();
162
163        $(document).ajaxSuccess(function (e, xhr, settings)
164        {
165            if (xhr && xhr.responseText && xhr.responseText.indexOf('<iframe ') !== -1)
166            {
167                $("body").fitVidsEP();
168            }
169        });
170    });
171    return true;
172};
173
174try
175{
176    epdofitvids(window.jQuery);
177}
178catch (err)
179{
180}
181
182

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.