2009-12-22 203 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沒有正確調整大小,或者它可以,但閃光控制不會填充它後? –

相關問題