Я не могу заставить встроенный iframe vimeo правильно изменять размер при изменении размера окна с помощью fancybox (http://fancyapps.com/fancybox/)
При уменьшении размера окна Fancybox отлично меняет размер, как и встроенное видео (с использованием кода ниже).
Однако, увеличьте размер окна, и fancybox останется таким же, как и видео.
См. Здесь: http://jsfiddle.net/prng9/1/ - затем уменьшите размер кадра результата резервное копирование (уменьшение размера тоже не идеально, если честно - если у кого-то есть способы получше, дайте мне знать - код основан на следующем: http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php)
Это модный код коробки, который я использую:
jQuery(document).ready(function($) {
var htmlcontent = "<html><body><div class='vimeo_embed'><iframe class='vimeo' src='//player.vimeo.com/video/47438073' width='500' height='281' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div></body></html>";
jQuery.fancybox.open(
{
content: htmlcontent,
type:'ajax',
padding : 0,
afterShow: function(current,previous) {
var vid = jQuery('iframe.vimeo');
var ht = vid.height();
var wd = vid.width();
vid.attr('data-aspectRatio', ht / wd)
.width(wd)
.height(ht)
.removeAttr('width')
.removeAttr('height');
},
onUpdate: function() {
//should run when size or orientation is changed
var vid = jQuery('iframe.vimeo');
var newWidth = jQuery('.vimeo_embed').width();
vid.width(newWidth).height(newWidth * vid.attr('data-aspectRatio'));
}
});
});
Примечание: я знаю, что fancybox позволяет изменять размер vimeo при прямой ссылке на видео - например, я мог бы использовать http://player.vimeo.com/video/47438073 в качестве href вместе с медиа-помощником, и все будет хорошо. Однако у меня есть определенное количество элементов управления доступом и отслеживания просмотров видео, поэтому я использую видео, встроенные на другие страницы. Следовательно, причина, по которой я включил html-код в пример выше, - это имитирует ту же среду.
Спасибо.
htmlcontent
. - person JFK   schedule 05.12.2013