我认为这个问题是不言自明的。以前有人做过吗?
更新:澄清为什么我需要这样做。我们有一个 AS1 - AS2 站点的单一 swf 庞然大物,带有一个大型视频库部分。客户想要更新视频部分,因为 AS2 代码无法处理他们更新的、更大的视频文件。客户不会为整个网站的更新付费。因此,当导航到该部分时,我希望能够在现有站点上覆盖基于 AS3 的视频浏览器和播放器,从而使站点的其余部分使用现有的 AS2 代码正常工作。
希望能更清楚地解释事情!
我不认为它是 AS3 还是 AS2 与它有任何关系。
从网络浏览器的角度来看,它们都是一个黑盒子,上面写着“Flash Player Plugin”。您一次只能安装一个版本的插件,因此即使您有一个 AS2 和一个 AS3 swf,Web 浏览器也只会看到它有 2 个“Flash player plugin version 10”实例
归结为你似乎想要做的是:
那么,这行得通吗?-否是的,非常好,但您必须设置wmode="transparent"
嵌入的 Flash 对象(感谢grapefrukt 的评论)。
我进行了测试:这是我的源代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css" media="screen">
DIV{ width: 300px; height; 300px;}
#background{ border: 1px solid green; background-color: green; z-index: 0; }
#foreground{ border: 1px solid red; background-color: red; z-index: 50; }
</style>
</head>
<body>
<div id="background">
<embed height="208" width="208" quality="high" bgcolor="#fff" src="bgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/>
</div>
<div id="foreground" style="position: absolute; left: 30px; top: 30px;">
<embed height="208" width="208" quality="high" bgcolor="#fff" src="fgswf.swf" type="application/x-shockwave-flash" wmode="transparent"/>
</div>
</body>
</html>
结果:
没有wmode=transparent
, 在 Firefox 和 IE 中不一致且轻微损坏。有了它,就可以在 IE 和 Firefox 中完成您认为它应该做的事情。
swf 文件的行为(从布局的角度来看)就好像它们只是图像一样。这个很酷。