2009-12-22 149 views
1

我有SWF一闪一闪的页面宽度为300x250的将Flash div的大小调整为完整的浏览器高度和宽度?

<div id="flashswf"> ...some flash </div> 
<div id="maxme">full screen</div> 

我有一个叫全屏幕的链接,我需要最大化flashswf div来适应当前的浏览器最大高度和宽度

是这样可能使用jQuery?任何想法PLZ

+0

你试过100%和100%吗? –

+0

是的,它只适用于宽度,但对于高度而言,它不适用于swf的100%。 –

+0

如果您同时将'html'和'body'的高度设置为100%,则它可能不使用Javascript。 –

回答

1

这是可能的,但要注意,如果包含它的元素(或任何父元素)的风格改变了浏览器复位Flash应用程序。

如果您需要维护应用程序的状态,例如,您可以将其放在3x3宽度和高度为100%的表格的中间,然后操作所有其他单元格的样式。

+0

是的确切我需要维护swf状态,这是我真正的问题,你可以解释这更多plz ..谢谢 –

+1

制作一个表填充浏览器窗口,并将宽度和高度为100%的Flash应用程序放入中心单元格。然后使用非中心单元格,将Flash内容“推”到所需的位置和大小。要切换到全屏模式,请将其他单元格的宽度和高度更改为零 - 这会使带有Flash内容的中心单元拉伸到完整的窗口大小。您可能需要做很多调整才能实现良好的浏览器兼容性。 – Skrim

1

使用

$(window).width(); 

$(window).height(); 

得到窗口的宽度和高度

$(function() { 
    $("#maxme").click (function() { 
     $("#flashswf").width($(window).width()); 
     $("#flashswf").height($(window).height()); 
    }); 
}); 

width()height()

1
$('#flashswf').css({ 
    'width': $(window).width() + 'px', 
    'height': $(window).height() + 'px' 
}); 
1

我相信你需要的部分是设置stage.scaleMode = StageScaleMode.NO_SCALE。否则,Flash会尝试维护SWF文件中的设置。有关更多信息,请参阅documentation

我抓住这个example code from Adobe

 
import flash.display.Stage; 
import flash.display.StageAlign; 
import flash.display.StageScaleMode; 
import flash.events.Event; 

var swfStage:Stage = videoScreen.stage; 
swfStage.scaleMode = StageScaleMode.NO_SCALE; 
swfStage.align = StageAlign.TOP_LEFT; 

function resizeDisplay(event:Event):void 
{ 
    var swfWidth:int = swfStage.stageWidth; 
    var swfHeight:int = swfStage.stageHeight; 

    // Resize the video window. 
    var newVideoHeight:Number = swfHeight - controlBar.height; 
    videoScreen.height = newVideoHeight; 
    videoScreen.scaleX = videoScreen.scaleY; 

    // Reposition the control bar. 
    controlBar.y = newVideoHeight; 
} 

swfStage.addEventListener(Event.RESIZE, resizeDisplay); 
+0

这是无关的答案..我问的jQuery和JavaScript不闪烁的动作脚本..谢谢无论如何 –

+0

你确定问题是你的div没有正确调整大小,或者它可以,但闪光控制不会填充它后? –

相关问题