2009-12-07 41 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中可用。