我有一个完整的Flash网站,它使用swfobject将其嵌入100%的高度和宽度。我正在使用swffit为具有大量内容的页面强制使用浏览器滚动条。这一切都很好,工作得很好。我也有HTML格式的内容,作为替代内容,这也是为了让flash swfobject工作,我需要在CSS中添加overflow = hidden,如:
html{
height: 100%;
overflow:hidden;
}
#content{
height: 100%;
}
然后停止显示替代内容何时显示的滚动条。 有谁知道如何解决这个问题?
答案 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中可用。