1

我遇到了一个问题,Flash 显然无法正确显示和/或不同操作系统和浏览器之间的功能被破坏——我一直认为这个问题不存在,因为 Flash 开发的本质是跨浏览器兼容性。

问题: 我正在为一个网站开发一个 Flash 模块,该网站显示了很多层图像以创建一个完整的图像。在 Windows 上的 Chrome、FireFox 或 Safari 中使用该站点时,一切正常。使用IE9时,一切都完全崩溃,图像消失,透明度变得疯狂,到处都是伪影;功能甚至中断。在 Mac 上,使用 FireFox 或 Safari,除了少数图层 (3) 不会显示并且在可见性切换为 true 时似乎锁定浏览器之外,所有内容都正确显示。

这一切归结为以下两个问题:

  1. Flash 在每个浏览器中的显示方式是否存在已知错误,需要我以任何特定方式编码或避免某些技术?
  2. 这是否完全超出了我的掌控,以至于我需要告诉人们只使用带有y浏览器的x操作系统?

一些细节: 这是一个 AS3 项目。

这些是动态加载的具有透明度的 .png 文件。

一些包含这些加载图像的 MovieClip 实例将其 BlendMode 设置为 BlendMode.MULTIPLY,但除此之外,它是一个直接显示的图像列表。

当其他图像正在加载但只是关闭时,正在加载导致问题的图像。使用 Windows/Chrome|FireFox|Safari 组合,它们工作得非常好。

任何帮助将不胜感激!如果您需要更多详细信息,请告诉我其他信息可能会有所帮助!提前致谢!-杰森

编辑:这是 html/js 嵌入代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Website</title>
<meta name="description" content="" />

<script src="js/swfobject.js"></script>
<script>
    var flashvars = {
    };
    var params = {
        menu: "false",
        scale: "noScale",
        allowFullscreen: "false",
        allowScriptAccess: "always",
        bgcolor: "",
        wmode: "direct" // can cause issues with FP settings & webcam
    };
    var attributes = {
        id:"Website"
    };
    swfobject.embedSWF(
        "movie.swf", 
        "altContent", "960", "530", "11.2.0", 
        "expressInstall.swf", 
        flashvars, params, attributes);
</script>
<style>
    html, body { height:100%; overflow:hidden; background-image:url('background.jpg'); background-repeat:no-repeat; }
    body { margin:0; }
</style>
</head>
<body>
<div id="altContent">
    <h1>Website</h1>
    <p><a href="http://www.adobe.com/go/getflashplayer">Get Adobe Flash player</a></p>
</div>
</body>
</html>
4

0 回答 0