获取更新的共享对象数据,而无需重新打开它

时间:2012-02-07 04:13:22

标签: actionscript-3 actionscript shared-objects

我有2个swf将被加载到网站上。一个假设生成一个bytearray并被传递给另一个swf。

问题在于,当我将bytearray保存到用户本地文件中的SharedObject时,第二个swf没有从第一个swf获取更新的变量值。

我已将第二个swf设置为每秒检索一次,并且在重新加载页面之前不会更新。

我刷新并关闭连接,以确保数据保存在本地路径上,这也无济于事。

我也考虑过使用LocalConnection,但是mac的flash播放器中存在一个错误,它阻止它在mac上的swfs之间工作。让我别无选择,只能将SharedObject用于我的项目。

你们有什么解决办法吗?

非常感谢..

2 个答案:

答案 0 :(得分:1)

我认为这种方法不起作用(本地SharedObject可能不是为此设计的,并且浏览器和Flash播放器版本之间的确切行为可能不同)。

我会尝试使用LocalConnection。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/LocalConnection.html

编辑:抱歉,我错过了这个: “我也考虑过使用LocalConnection,但是mac的flash播放器中存在一个错误,它阻止它在mac上的swfs之间工作。让我别无选择,只能为我的项目使用SharedObject。”

我一直在mac上使用本地连接,所以我不确定你指的是什么。我强烈建议使用每页视图生成一次的随机数并将其发送到闪存(用作连接名称的一部分),以确保不打开多个具有相同名称的连接(如果例如,用户可以在不同的标签中多次打开您的网站。

答案 1 :(得分:0)

我使用这种通信方法没有问题,它工作正常。更改值后是否调用flush?