使用swfobject&amp ;;显示大量HTML替代内容swffit flash网站

时间:2009-12-07 12:24:53

标签: html css flash swfobject

我有一个完整的Flash网站,它使用swfobject将其嵌入100%的高度和宽度。我正在使用swffit为具有大量内容的页面强制使用浏览器滚动条。这一切都很好,工作得很好。我也有HTML格式的内容,作为替代内容,这也是为了让flash swfobject工作,我需要在CSS中添加overflow = hidden,如:

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

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

2 个答案:

答案 0 :(得分:2)

我不知道SWFFit,但为什么你首先需要overflow: hidden?没有它会不会有效?

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

答案 1 :(得分: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元素中删除overflow:hidden,则可以执行以下操作:

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中可用。