1

我有一个完整的 Flash 站点,它使用 swfobject 以 100% 的高度和宽度嵌入它。我正在使用 swffit 为包含大量内容的页面强制使用浏览器滚动条。这一切都很好,而且效果很好。我也有 HTML 格式的内容,作为替代内容,除了为了让 flash swfobject 工作之外,我还需要在 CSS 中添加 overflow = hidden,例如:

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

然后,当显示替代内容时,这将停止滚动条显示。有谁知道如何解决这一问题?

4

2 回答 2

2

我不知道 SWFFit 但你为什么首先需要它overflow: hidden?没有它就行不通吗?

想到的唯一解决方法是定义两个类,一个有,一个没有,并通过触发一些 Javascript 在 Flash 中以编程overflow: hidden方式更改元素的类。html

于 2009-12-07T12:28:26.167 回答
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 中可用。

于 2009-12-07T18:04:00.920 回答