根据内容高度/宽度更改fancybox iframe大小

时间:2014-09-04 13:05:09

标签: flash iframe fancybox

这可能很棘手,因为iframe内容的高度/宽度取决于用户是否具有Flash插件。

iframe的最大宽度为800px,因此它会根据视口进行缩放。它加载了检测Flash插件的swfobject.js和swiffit.js,后者根据iframe的宽度缩放swf。如果没有Flash插件,它会加载一个mp4视频,其固定宽度为550px。

我在这里做了一个假的:

http://www.casedasole.it/fancyfit/

第一个按钮打开一个加载Flash影片的iframe(如果你有闪光灯)。第二个按钮加载第一个iframe的副本,但是删除了swfobject.js和swiffit,所以它的行为就好像没有Flash插件(因此加载了mp4)。

对fancybox设置进行哪些更改会使iframe 2适应视频的大小?

更新...

找到了这个:http://developersweblog.com/tag/fancybox-2/。看起来很简单,无法让它工作。

更新2

谢谢JFK,但我无法提前设置固定宽度 - iframe宽度取决于是否存在闪光灯。
我已将parent.jQuery.fancybox.update()作为onclick=插入到iframe的链接中,在检测iframe中的flash的脚本中,以及作为保存视频的div中的脚本。但是flash iframe和视频iframe都达到了maxwidth(800px)。到目前为止,唯一有效的(并且有点模糊地承诺)是:

 beforeShow: function(){
  this.width = $('.fancybox').contents().find('div#my_flash').width();
  this.height = $('.fancybox').contents().find('div#my_flash').height();
 }

更新示例:http://www.casedasole.it/fancyfit/

...其中“my_flash”是包含flash的div,如果没有检测到,则包含保存视频的div。有了这个,出于某种原因,视频宽度会根据需要变为minWidth 550px,但高度为maxHeight(420px)。那没关系,但flash iframe也需要minWidth和maxHeight。令人沮丧,,,,

0 个答案:

没有答案