Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 根据内容高度/宽度更改fancybox iframe大小_Flash_Iframe_Fancybox - Fatal编程技术网

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

Flash 根据内容高度/宽度更改fancybox iframe大小,flash,iframe,fancybox,Flash,Iframe,Fancybox,这可能很棘手,因为iframe内容的高度/宽度取决于用户是否有Flash插件 iframe的最大宽度为800px,因此它根据视口进行缩放。它加载swfobject.js(检测Flash插件)和swiffit.js(根据iframe的宽度缩放swf)。如果没有Flash插件,它将加载一个固定宽度为550px的mp4视频 我在这里做了一个模拟: 第一个按钮打开一个iframe,如果您有Flash,它将加载Flash影片。第二个按钮加载第一个iframe的副本,但是swfobject.js和swiff

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

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

我在这里做了一个模拟:

第一个按钮打开一个iframe,如果您有Flash,它将加载Flash影片。第二个按钮加载第一个iframe的副本,但是swfobject.js和swiffit被删除,因此它的行为就像没有Flash插件一样,因此加载mp4

fancybox设置的哪些更改将使iframe 2适应视频的大小

更新

找到此:。看起来很简单,没法用

更新2

感谢JFK,但我不能预先设置固定宽度-iframe宽度取决于是否存在flash。 我已将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();
 }
更新示例:


…其中my_flash是包含flash的div,如果未检测到,则包含保存视频的div。因此,出于某种原因,视频宽度变为所需的minWidth 550px,但高度为maxHeight 420px。那没关系,但是flash iframe也需要minWidth和maxHeight。令人沮丧的是,,,,,

这可能有助于尝试在iframe中的或标记或其他元素中设置维度,并在参考答案中查找它们。或者,您可以在检查闪存插件的回退逻辑中的iframe内调用parent.jQuery.fancybox.update。。。您在的解决方案可能是一个不错的选择。@JFK就快到了!我在这里使用了iframe大小调整器:它可以很好地满足我的需要,但是有一个问题,正如您将看到的那样-我需要在iframe1到1frame2中添加一个链接,但是iframe2不能完全调整大小。我在这里用modal做了一个假人:完全适应的true:。打开iframe模拟未检测到Flash插件。有什么建议可以让iframe链接正常工作吗?感谢您为什么不在iframed页面video.html上尝试类似的内容,或者将父页面中的脚本更改为this.width=$'.fancybox iframe'.contents.find'video'.width;而不是html,因为您已经为该元素设置了维度。不走运,它作为一个图库工作得很好,但我可能把它推得有点远了。但这只是意味着我必须重新思考,这种方法仍然使用fancybox。当然,它在所有设备上都能很好地工作。谢谢你的帮助。