2009-06-04 11 views
7

Tôi đang tải phim SWF vào trang HTML bằng cách sử dụng SWFObject. Tôi muốn thay đổi kích thước SWF động này. SWFObject có thể trợ giúp như thế nào? Tôi chắc rằng tôi không phải giải pháp write my own.Đổi kích thước một SWF khi tải nó bằng SWFObject

+0

Tôi nghĩ bạn cần phải làm rõ ý bạn bằng cách "thay đổi kích thước" flash swf. Cách nó sẽ hành động "nội bộ" khi thay đổi kích thước nhúng của nó phụ thuộc vào cách bạn đã thực hiện các swf ở nơi đầu tiên. – grapefrukt

+0

Tôi cần đổi kích thước vùng chứa SWF ... BTW Tôi biết về các tùy chọn tỷ lệ (Stage.scaleMode) và căn chỉnh (Stage.align) được đặt trong SWF flash có ảnh hưởng đến cách nội dung bị ảnh hưởng khi vùng chứa thay đổi kích thước. –

Trả lời

24

Giải pháp đơn giản nhất là nhúng SWF trong div vùng chứa, sau đó sử dụng JavaScript và CSS để tự động định lại kích thước vùng chứa DIV. Nếu SWF được đặt thành 100% chiều rộng/chiều cao, SWF sẽ giãn ra để phù hợp với trình bao bọc bất cứ khi nào trình bao bọc được thay đổi kích thước.

Trong cơ thể:

<div id="wrapper"> 
<div id="flash">This div will be replaced by an object via SWFObject</div> 
</div> 

Trong đầu:

<script> 
var flashvars = {}; 
var params = { scale: "exactFit" }; 
var attributes = {}; 

swfobject.embedSWF("myContent.swf", "flash", "100%", "100%", "9.0.0","expressInstall.swf", flashvars, params, attributes); 
</script> 

<style type="text/css"> 
#flash { 
    display: block; 
    width: 100%; 
    height: 100%; 
} 
</style> 

Bây giờ bất cứ khi nào bạn thay đổi kích thướC#wrapper, SWF sẽ mở rộng để điền vào nó.

4

Kiểm tra swffit, nó phải phù hợp với hóa đơn một cách hoàn hảo.

+0

Nó không thay đổi kích thước SWF flash, nó chỉ làm một cái gì đó để Div giữ nó. Tôi muốn thực sự mở rộng flash SWF lên xuống giống như thay đổi kích thước cửa sổ Solitaire. –

-1

tôi tin rằng các mã trên nên đọc:

#wrapper { 
    display: block; 
    width: 100%; 
    height: 100%; 
} 
+0

Nhận xét này sai: Tại sao bạn đặt trình bao bọc thành 100% khi mục đích của nó được thay đổi kích thước? Chỉ đưa vào tài khoản @pipwerks trả lời. –

1

này không làm việc cho tôi, nhưng đã làm một số thay đổi nhỏ như đã nêu trong http://code.google.com/p/swfobject/wiki/faq phần "Làm thế nào tôi có thể tạo một SWF mà sẽ bao gồm 100% cửa sổ trình duyệt? "

như thế này

<style type="text/css" media="screen"> 
    html, body, #containerA, #containerB { height:100%; } 
    body { margin:0; padding:0; overflow:hidden; } 
</style> 

và hoàn hảo!