1

我正在为两个不同的 swf 服务,它们读取和写入同一个 SharedObject 变量。SharedObject 变量是一个数字,每个 swf 都会检查该数字以确保它没有两次使用相同的数字。然后它存储它选择的最后一个数字。这样,两个 swf 都不应使用相同的数字两次,无论它们加载的顺序是什么。

如果我反复加载其中一个 swf,则永远不会进行两次旋转。但是,在 swf 之间来回切换时,有时会出现重复数字。SharedObjects 对 Flash Player 来说应该是全局的,那么为什么会发生这种情况呢?

谢谢

4

2 回答 2

3

SharedObjects 是特定于文件名和位置的,根路径是:

C:\Users\username\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\436UUXWX\

但对于 www.example.com/res/flash/file1.swf 和 www.example.com/res/flash/file2.swf 它将是:

C:\Users\username\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\436UUXWX\www.example.com\res\flash\file1.swf\

和:

C:\Users\username\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\436UUXWX\www.example.com\res\flash\file2.swf\
于 2010-10-20T20:13:09.997 回答
3

共享对象实际上被赋予了自己的文件夹,这样它们就不会与另一个同名的 SO 发生冲突。如果您想让多个 SWF 访问单个 SO,那么您需要为 SO 指定一个实际路径,而不是让 Flash 为您创建一个。这会强制 SWF 读取/写入相同的 SO。

这是包含更深入解释和一些不同解决方案的文章:

http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d80.html

于 2010-10-20T20:14:05.040 回答