PageSourceSearch

https://www.intelligent-imaging.com/wp-content/themes/bridge/js/plugins/jquery.fitvids.js?ver=6.7.9

js intelligent-imaging.com collected 2026-09-25 23:42:38 UTC 6,125 bytes, 123 lines download raw bytes

1/*jshint browser:true */
2/*!
3* FitVids 1.1
4*
5* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
6* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
7* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
8*
9*/
10
11(function( $ ){
12
13    'use strict';
14
15    $.fn.fitVids = function( options ) {
16        var settings = {
17            customSelector: null,
18            ignore: null
19        };
20
21        if(!document.getElementById('fit-vids-style')) {
22            // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
23            var head = document.head || document.getElementsByTagName('head')[0];
24            var css = '.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%;}';
25            var div = document.createElement("div");
26            div.innerHTML = '<p>x</p><style id="fit-vids-style">' + css + '</style>';
27            head.appendChild(div.childNodes[1]);
28        }
29
30        if ( options ) {
31            $.extend( settings, options );
32        }
33
34        return this.each(function(){
35            var selectors = [
36                'iframe[src*="player.vimeo.com"]',
37                'iframe[src*="youtube.com"]',
38                'iframe[src*="youtube-nocookie.com"]',
39                'iframe[src*="kickstarter.com"][src*="video.html"]',
40                'object',
41                'embed'
42            ];
43
44            if (settings.customSelector) {
45                selectors.push(settings.customSelector);
46            }
47
48            var ignoreList = '.fitvidsignore';
49
50            if(settings.ignore) {
51                ignoreList = ignoreList + ', ' + settings.ignore;
52            }
53
54            var $allVideos = $(this).find(selectors.join(','));
55            $allVideos = $allVideos.not('object object'); // SwfObj conflict patch
56            $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.
57
58            $allVideos.each(function(){
59                var $this = $(this);
60                if($this.parents(ignoreList).length > 0) {
61                    return; // Disable FitVids on this video.
62                }
63                if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
64
65                var height,
66                    width,
67                    aspectRatio;
68
69                if( typeof $this.attr( 'height' ) !== 'undefined' && typeof $this.attr( 'width' ) !== 'undefined' ) {
70                    height = $this.attr( 'height' );
71                    width = $this.attr( 'width' );
72                    aspectRatio = height / width;
73                } else {
74                    if( $this.closest('.flexslider').length > 0 ){
75                        if( $this.closest('ul').find('li > img').length > 0 ){
76                            height = $this.closest('ul').height();
77                        } else if( $this.closest('ul').find('video-wrap').length > 0 ){
78                            height = $this.closest('ul').find('video-wrap').height();
79                        } else {
80                            height = 500; // this is a height of images from design
81                        }
82                        width = !isNaN(parseInt($this.closest('li').attr('width'), 10)) ? parseInt($this.closest('li').attr('width'), 10) : $this.closest('li').width();
83                        aspectRatio = height / width;
84                    } else if( $this.closest('.portfolio_images').length > 0 ){
85                        width = $j('.portfolio_images').width();
86
87                        if( $this.next('img').length > 0 ){
88                            height = $this.next('img').height();
89                        } else {
90                            height = 500; // this is a height of images from design
91                        }
92
93                        aspectRatio = height / width;
94                    } else if( $this.closest('.post_image').length ) { // this is for format-video post type
95                        height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height();
96                        width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width();
97                        aspectRatio = height / width;
98                    } else if( $this.closest('.q_masonry_blog_post_image').length ) { // this is for format-video post type on masonry shortcode
99                        height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height();
100                        width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width();
101                        aspectRatio = height / width;
102                    } else{
103                        height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height();
104                        width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.parent().width();
105                        aspectRatio = height / width;
106                    }
107                }
108
109                if(!$this.attr('id')){
110                    var videoID = 'fitvid' + Math.floor(Math.random()*999999);
111                    $this.attr('id', videoID);
112                }
113                $this.wrap('<div class="fluid-width-video-wrapper"></div>');
114                $('.fluid-width-video-wrapper').css('padding-top', (aspectRatio*100) + "%");
115            });
116        });
117    };
118
119    // Internal counter for unique video names.
120    $.fn.fitVids._count = 0;
121
122// Works with either jQuery or Zepto
123})( window.jQuery || window.Zepto );

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.