@@ -285,7 +285,15 @@ function finishView(view) {
285285 jsonp : 'callback' ,
286286 dataType : 'jsonp' ,
287287 success : function ( data ) {
288- $ ( value ) . html ( data . html ) ;
288+ var $html = $ ( data . html ) ;
289+ var iframe = $html . closest ( 'iframe' ) ;
290+ var caption = $html . closest ( 'div' ) ;
291+ var inner = $ ( '<div class="inner"></div>' ) . append ( iframe ) ;
292+ var height = iframe . attr ( 'height' ) ;
293+ var width = iframe . attr ( 'width' ) ;
294+ var ratio = ( height / width ) * 100 ;
295+ inner . css ( 'padding-bottom' , ratio + '%' ) ;
296+ $ ( value ) . html ( inner ) . append ( caption ) ;
289297 }
290298 } ) ;
291299 } ) ;
@@ -310,8 +318,12 @@ function finishView(view) {
310318 var src = iframe . attr ( 'src' ) ;
311319 if ( src . indexOf ( '//' ) == 0 )
312320 iframe . attr ( 'src' , 'https:' + src ) ;
313- iframe . css ( 'max-width' , '100%' ) ;
314- iframe . attr ( 'width' , '540' ) . attr ( 'height' , ( 540 * ratio ) + 15 ) ;
321+ var inner = $ ( '<div class="inner"></div>' ) . append ( iframe ) ;
322+ var height = iframe . attr ( 'height' ) ;
323+ var width = iframe . attr ( 'width' ) ;
324+ var ratio = ( height / width ) * 100 ;
325+ inner . css ( 'padding-bottom' , ratio + '%' ) ;
326+ $ ( value ) . html ( inner ) ;
315327 }
316328 } ) ;
317329 } ) ;
@@ -517,19 +529,12 @@ function smoothHashScroll() {
517529 }
518530}
519531
520- function setSizebyAttr ( element , target ) {
521- var width = $ ( element ) . attr ( "width" ) ? $ ( element ) . attr ( "width" ) : '100%' ;
522- var height = $ ( element ) . attr ( "height" ) ? $ ( element ) . attr ( "height" ) : '360px' ;
523- $ ( target ) . width ( width ) ;
524- $ ( target ) . height ( height ) ;
525- }
526-
527532function imgPlayiframe ( element , src ) {
528533 if ( ! $ ( element ) . attr ( "videoid" ) ) return ;
529534 var iframe = $ ( "<iframe frameborder='0' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>" ) ;
530535 $ ( iframe ) . attr ( "src" , src + $ ( element ) . attr ( "videoid" ) + '?autoplay=1' ) ;
531- setSizebyAttr ( element , iframe ) ;
532- $ ( element ) . html ( iframe ) ;
536+ $ ( element ) . find ( 'img' ) . css ( 'visibility' , 'hidden' ) ;
537+ $ ( element ) . append ( iframe ) ;
533538}
534539
535540var anchorForId = function ( id ) {
@@ -720,7 +725,6 @@ var youtubePlugin = new Plugin(
720725 var videoid = match [ 1 ] ;
721726 if ( ! videoid ) return ;
722727 var div = $ ( '<div class="youtube raw"></div>' ) ;
723- setSizebyAttr ( div , div ) ;
724728 div . attr ( 'videoid' , videoid ) ;
725729 var thumbnail_src = '//img.youtube.com/vi/' + videoid + '/hqdefault.jpg' ;
726730 var image = '<img src="' + thumbnail_src + '" />' ;
@@ -740,7 +744,6 @@ var vimeoPlugin = new Plugin(
740744 var videoid = match [ 1 ] ;
741745 if ( ! videoid ) return ;
742746 var div = $ ( '<div class="vimeo raw"></div>' ) ;
743- setSizebyAttr ( div , div ) ;
744747 div . attr ( 'videoid' , videoid ) ;
745748 var icon = '<i class="icon fa fa-vimeo-square fa-5x"></i>' ;
746749 div . append ( icon ) ;
0 commit comments