我有一个flash swf对象嵌入在facebook新闻源中。除了swf文件本身,我无法控制任何其他内容。它托管在我们的服务器上,我需要能够读取我们的主要网站设置的cookie。
我能找到的所有内容都谈到了使用外部javascript来读取和设置cookie,但我想从flash内部做到这一点。
答案 0 :(得分:2)
使用ExternalInterface实际上可以比人们意识到的更多。在AS3中定义函数,然后将其作为ExternalInterface.call中的参数传递给ExternalInterface。我构建了一个简单的AS3项目,将其作为主类的属性。
private var myTestJS:String = "function myTest(parameter){alert(parameter);return parameter;}";
,这在构造函数
中var mycookievalue:String = ExternalInterface.call(myTestJS, "Yay for ExternalInterface");
构建一个快速项目,调试它,你会看到警报被调用以及mycookievalue被正确设置。现在,您只需要用您的js代码替换我的测试函数来获取cookie。
答案 1 :(得分:0)
Flash Player无法访问浏览器Cookie。 ExternalInterface方法是让JavaScript为您完成的一种技巧。
Flash Player可以访问共享对象,这类似于Flash Player的Cookie版本;但一般Flash和浏览器不共享cookie。