使用Fancybox打开SWF文件时动态更改尺寸

时间:2011-09-09 10:49:59

标签: javascript jquery flash size fancybox

我有一个ul链接到图像和swf文件(横幅)。单击链接后,Fancybox将打开其叠加层并显示image / swf文件。

问题在于,无论swf文件的尺寸如何,Fancybox总是会显示大约580 * 390的叠加。这当然会给出swf文件的扭曲视图。

我一直在修补autoScale等等,没有结果......: - (

这是我的代码:

$("a.fancybox").attr('rel', 'gallery').fancybox({
    'transitionIn'      : 'none',
    'transitionOut'     : 'none',
    'titlePosition'     : 'inside',
    'titleFormat'       : function(title, currentArray, currentIndex, currentOpts) {
        return '<span id="fancybox-title-inside">' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
    }   
});

Fancybox有没有办法检测到swf文件的尺寸并确定叠加层的尺寸?

请注意,我没有数据库中的swf文件的尺寸。 另请注意,图像和swf总是随机混合。

急切等待你的回复!

此致

中号

3 个答案:

答案 0 :(得分:0)

也许您可以使用FancyBox的自动缩放或自动维度选项。如API page

中所述
autoScale   true    If true, FancyBox is scaled to fit in viewport
autoDimensions  true    For inline and ajax views, resizes the view to the element recieves. Make sure it has dimensions otherwise this will give unexpected results

答案 1 :(得分:0)

你能不能使用jquery获取swf的尺寸,并使用fancybox文档中指定的width和height选项将它们传递到fancybox代码中。 http://fancybox.net/api

答案 2 :(得分:0)

如前所述,该解决方案是在一个单独的PHP页面中显示SWF文件,您可以在其中设置高度和宽度。通过SWFObject的SWF宽度,然后使用fancybox的iframe源设置。在后端,您将SWF传递给此文件,就是那个!