0

我有一个嵌入到 facebook 新闻提要中的 flash swf 对象。除了 swf 文件本身,我无法控制任何东西。它托管在我们的服务器上,我需要能够读取我们主要网站设置的 cookie。

我能找到的所有内容都在谈论使用外部 javascript 来读取和设置 cookie,但我想从 flash 本身内部进行。

4

2 回答 2

2

实际上,您可以使用 ExternalInterface 做的事情比人们意识到的要多得多。在 AS3 中定义您的函数,然后将其作为 ExternalInterface.call 中的参数传递给 ExternalInterface。我用它作为主类的属性构建了一个简单的 AS3 项目。

private var myTestJS:String = "function myTest(parameter){alert(parameter);return parameter;}";

和 this 在构造函数中

var mycookievalue:String = ExternalInterface.call(myTestJS, "Yay for ExternalInterface");

构建一个快速项目,对其进行调试,您将看到警报被调用以及 mycookievalue 被正确设置。现在,您只需将我的测试函数替换为您的 js 代码即可获取 cookie。

于 2012-06-26T17:44:31.610 回答
0

Flash Player 无法访问浏览器 cookie。ExternalInterface 方法是让 JavaScript 为您执行此操作的技巧。

Flash Player 可以访问共享对象,类似于 Flash Player 的 cookie 版本;但通常 Flash 和浏览器不共享 cookie。

于 2012-06-26T17:14:56.060 回答