2009-12-07 58 views
1

我有一個完整的Flash網站,它使用swfobject將它嵌入100%的高度和寬度。我正在使用swffit爲包含大量內容的頁面強制使用瀏覽器滾動條。這一切都很好,完美的作品。我也有在HTML格式的內容,作爲替代內容,這也適用除了爲了得到閃光swfobject的工作,我需要添加溢出=隱藏在CSS,如:用swfobject&swffit flash網站顯示大量的HTML替代內容

html{ 
height: 100%; 
overflow:hidden; 
} 
#content{ 
height: 100%; 
} 

這就停止顯示替代內容的滾動條。 有誰知道如何解決這個問題?

回答

2

我不知道SWFFit,但爲什麼你首先需要overflow: hidden?它沒有工作嗎?

想到的唯一的解決方法是通過觸發JavaScript來定義兩個班,一個有,一個沒有overflow: hidden,並更改類html元素從Flash編程。

+0

是的,我不太清楚爲什麼溢出隱藏。也許它只是缺少'margin:0;填充:0;身體上的高度:100%? – bobince 2009-12-07 12:31:30

+1

謝謝Pekka,我感到很蠢。我不記得爲什麼,但我堅持認爲我需要溢出隱藏設置。但我沒有。 – daidai 2009-12-07 12:39:43

+0

overflow:hidden修復了IE6中滾動條的問題,該問題在瀏覽器中被縮放爲100%高度/寬度的SWF。大概90%的時間你不需要它。 – pipwerks 2009-12-07 17:56:32

1

如果您需要根據嵌入的SWFObject的成功更改頁面的CSS或內容,請使用SWFObject 2.2中的回調函數功能。

對於動態發佈,它看起來像這樣:

var flashvars = {}; 
var params = {}; 
var attributes = {}; 
var embedHandler = function (e){ 
}; 

swfobject.embedSWF("mymovie.swf", "targetID", "550", "400", "9.0.0", "expressInstall.swf", flashvars, params, attributes, embedHandler); 

在你的情況,如果你需要刪除溢出:從HTML元素遮住了,你可以這樣做:

var flashvars = {}; 
var params = {}; 
var attributes = {}; 
var embedHandler = function (e){ 
    //If embed fails 
    if(!e.success){ 
     document.getElementsByTagName("html")[0].style.overflow = "auto"; 
    } 
}; 

swfobject.embedSWF("mymovie.swf", "targetID", "550", "400", "9.0.0", "expressInstall.swf", flashvars, params, attributes, embedHandler); 

這回調函數功能僅在SWFObject 2.2中可用。