Имам IFrame, който се отваря чрез Fancybox 2, който възпроизвежда видеоклип:
HTML:
<a class="fancybox-video" href="/bg/user/intro-file.cfm" rel="file_name" title="View Video">File Name</a>
Javascript:
$("a.fancybox-video").fancybox({
scrolling : 'no',
type : 'iframe',
helpers : {
title: null
}
});
Видеото е качено от потребители, така че не знам размера. В крайна сметка ще задам maxHeight и maxWidth на Fancybox, но ги премахнах за по-лесно отстраняване на неизправности.
Как мога да задам ширината на Fancybox въз основа на съдържанието? С моя тестов файл, който е около 400px широк, самият fancybox е настроен на 830/800px широк (външната и вътрешната ширина): http://img528.imageshack.us/img528/3872/fancyboxwidth.png
autoSize и fitToView нямат ефект. Няма CSS или код на страницата IFrame, който задава ширина по подразбиране. Ако наложа ширина в кода на Fancybox, той работи, но тъй като съдържанието ми е динамично, няма да работи за системата на живо.
Също така се опитах да адаптирам функция от друг въпрос, питащ за преоразмеряване на височината, но също не работи:
beforeShow : function() {
$('.fancybox-iframe').load(function() {
$('.fancybox-inner').width($(this).contents().find('body').width());
});
}
Редактиране: Добавен е кодът на страницата IFrame, която се опитвам да заредя във Fancybox:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<cfoutput>
<script type="text/javascript" src="/Javascript/jwplayer.js"></script>
<script type='text/javascript'>
var max_video_width = 924;
jwplayer("preview").setup({
flashplayer: "/VideoPlayer/player.swf",
controlbar: "bottom",
file: "/videos/file_name",
stretching: 'file_name',
autostart: true,
events: {
onMeta: function(event) {
if (get_meta) {
if(event.metadata.width != undefined && event.metadata.height != undefined) {
get_meta = false;
if (event.metadata.width > max_video_width) {
var new_height = (max_video_width / (event.metadata.width / event.metadata.height))
jwplayer("preview").resize(max_video_width,new_height);
jwplayer("preview").stop();
$('##preview_wrapper').width(max_video_width).height(new_height);
}
else {
jwplayer("preview").resize(event.metadata.width,event.metadata.height);
jwplayer("preview").stop();
$('##preview_wrapper').width(event.metadata.width).height(event.metadata.height);
}
$('.loading-video').slideUp('fast',function(){$('.loading-video').remove()});
}
}
}
}
});
</script>
</cfoutput>
</body>
</html>
Iframe
от същия домейн ли е? - person Zuul   schedule 14.06.2012The video is user-uploaded, so I don't know the size
... видеоклипът има ли поне селектор, който можете да идентифицирате? ....intro-file.cfm
има ли обща html структура или тя варира от потребител на потребител? ... трябва да покажете изобразения html код наintro-file.cfm
в този случай. - person JFK   schedule 14.06.2012$(this).contents().find('body').width()
никога няма да работи, защотоbody
винаги ще се изобразява при 100% ширина на браузъра или вградената рамка, която го съдържа, освен ако не сте задали конкретни css размери на маркера. - person JFK   schedule 14.06.2012