Flash:除Internet Explorer之外的所有内容中的错误行为

问题描述:

我是一个完整的Flash n00b,但我很困难,我认为在这里发布我的问题值得一试,即使它可能太复杂而无法在此处有效传达。Flash:除Internet Explorer之外的所有内容中的错误行为

我的客户想要一个Flash介绍(yuck!),所以我做了这样一个菜单,其中包含指向该网站上其他页面的链接。为了最大限度地减少烦人的访问者,我使用cookie来确定用户是否已经在主页上,如果是这样,则跳过整个动画并仅显示菜单。

我正在使用ActiveContent JavaScript库将Flash嵌入到我的页面。我通过查询字符串(例如,myflash.swf?animation=false)将值传递给Flash文件,并在Flash中使用gotoAndPlay()读取该值以跳转到动画的最后一帧。我正在使用ActionScript 3.

在Internet Explorer 8中,只有IE,它按预期工作。不幸的是,没有其他浏览器这样做;他们都显示完整的动画。该cookie工作正常,但它就像Flash完全忽略了gotoAndPlay命令。

因为我不知道自己在做什么,所以我可能做错了。就像我说的,我知道这是一个没有发布代码的长片,但任何人有任何想法?

在我看来,闪光工作正常(因为它在IE中工作),但不知何故参数不会传递到其他浏览器的闪光灯。我建议在闪存中添加一些内容,以确保您实际获得了您期望的参数。然后检查不同的浏览器,看看它是否通过。

如果您可以发布您正在使用的ActiveContent调用来嵌入闪光灯,这将有助于查看它是如何将参数传递给闪光灯电影的。

由于不太可能存在闪存错误,因此我推测您会遇到每个浏览器如何处理将变量传入嵌入的想法。尽管对于任何给定的浏览器来说这可能是可以修复的,但在每个浏览器中都可以使用的修复程序可能很有毛病(尤其是对于旧版浏览器)当然,除非你测试一切,否则你永远不会知道自己是安全的。

看看SharedObject会更有力。 SOs本质上是cookies,除了Flash播放器本身存储和检索它们,而不通过浏览器。 (它们也不是序列化的,你可以只存储一个布尔值或其他)。这避免了浏览器处理嵌入的方式上的差异。这也意味着,即使观众在IE中查看网站,然后在Firefox中打开它,仍然可以告诉他们已经看过介绍。