PageSourceSearch

https://kasstek.com/kasstek_files/jquery.fitvids.js

js kasstek.com collected 2026-10-08 02:32:12 UTC 3,199 bytes, 96 lines download raw bytes

vendor: 3,199 bytes, lines 1-96
1/*global jQuery */
2/*jshint multistr:true browser:true */
3/*!
4* FitVids 1.0
5*
6* Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
7* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
8* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
9*
10* Date: Thu Sept 01 18:00:00 2011 -0500
11*/
12
13(function( $ ){
14
15  "use strict";
16
17  $.fn.fitVids = function( options ) {
18    var settings = {
19      customSelector: null
20    };
21
22    var div = document.createElement('div'),
23        ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0];
24
25    div.className = 'fit-vids-style';
26    div.innerHTML = '&shy;<style> \
27.fluid-width-video-wrapper { \
28width: 100%; \
29position: relative; \
30padding: 0; \
31} \
32\
33.fluid-width-video-wrapper iframe, \
34.fluid-width-video-wrapper object, \
35.fluid-width-video-wrapper embed { \
36position: absolute; \
37top: 0; \
38left: 0; \
39width: 100%; \
40height: 100%; \
41} \
42</style>';
43
44    ref.parentNode.insertBefore(div,ref);
45
46    if ( options ) {
47      $.extend( settings, options );
48    }
49
50    return this.each(function(){
51      var selectors = [	
52        "iframe[src^='http://player.vimeo.com']", 
53        "iframe[src^='http://www.youtube.com']", 
54        "iframe[src^='https://www.youtube.com']", 
55		"iframe[src^='http://www.dailymotion.com']",
56		"iframe[src^='http://s.mcstatic.com']",
57		"iframe[src^='http://blip.tv']",
58        "iframe[src*='http:/www.viddler.com']",
59        "iframe[src^='http://www.kickstarter.com']",
60		"iframe[src^='http://www.funnyordie.com']",
61		"iframe[src^='http://media.mtvnservices.com']",
62		"iframe[src^='http://trailers.apple.com']",
63		"iframe[src^='http://www.brightcove.com']",
64		"iframe[src^='http://break.com']",
65		"iframe[src^='http://www.traileraddict.com']",
66		"iframe[src^='http://d.yimg.com']",
67		"iframe[src^='http://movies.yahoo.com']",
68		
69        "object",
70        "embed"
71      ];
72
73      if (settings.customSelector) {
74        selectors.push(settings.customSelector);
75      }
76
77      var $allVideos = $(this).find(selectors.join(','));
78
79      $allVideos.each(function(){
80        var $this = $(this);
81		if (!$this.closest(".ls-layer, .rev_slider_wrapper, .anythingWindow").length) {
82			if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
83			var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
84				width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
85				aspectRatio = height / width;
86			if(!$this.attr('id')){
87			  var videoID = 'fitvid' + Math.floor(Math.random()*999999);
88			  $this.attr('id', videoID);
89			}
90			$this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%");
91			$this.removeAttr('height').removeAttr('width');
92		}
93      });
94    });
95  };
96})( 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.