1/*global jQuery */ 2/*! 3* FitVids 1.0 4* 5* Copyright 2011, 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* Date: Thu Sept 01 18:00:00 2011 -0500 10*/ 11 12(function( $ ){ 13 14 $.fn.fitVids = function( options ) { 15 var settings = { 16 customSelector: null 17 } 18 19 var div = document.createElement('div'), 20 ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0]; 21 22 div.className = 'fit-vids-style'; 23 div.innerHTML = '­<style> \ 24 .fluid-width-video-wrapper { \ 25 width: 100%; \ 26 position: relative; \ 27 padding: 0; \ 28 } \ 29 \ 30 .fluid-width-video-wrapper iframe, \ 31 .fluid-width-video-wrapper object, \ 32 .fluid-width-video-wrapper embed { \ 33 position: absolute; \ 34 top: 0; \ 35 left: 0; \ 36 width: 100%; \ 37 height: 100%; \ 38 } \ 39 </style>'; 40 41 ref.parentNode.insertBefore(div,ref); 42 43 if ( options ) { 44 $.extend( settings, options ); 45 } 46 47 return this.each(function(){ 48 var selectors = [ 49 "iframe[src*='youtube']", 50 "iframe[src*='vimeo']", 51 "iframe[src*='kickstarter']" 52 ]; 53 54 if (settings.customSelector) { 55 selectors.push(settings.customSelector); 56 } 57 58 var $allVideos = $(this).find('iframe[src*="youtube"], iframe[src*="vimeo"]'); 59 60 $allVideos.each(function(){ 61 var $this = $(this); 62 if (this.tagName.toLowerCase() == 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } 63 var height = this.tagName.toLowerCase() == 'object' ? $this.attr('height') : $this.height(), 64 aspectRatio = height / $this.width(); 65 if(!$this.attr('id')){ 66 var videoID = 'fitvid' + Math.floor(Math.random()*999999); 67 $this.attr('id', videoID); 68 } 69 $this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%"); 70 $this.removeAttr('height').removeAttr('width'); 71 }); 72 }); 73 74 } 75})( jQuery ); 76 77jQuery(document).ready(function(){ 78 jQuery(".gdl-page-row-wrapper, .footer-wrapper").fitVids(); 79});
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.