使用旧内容

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

在 Flash Player 6 中,用于某些 Flash Player 设置的域基于 SWF 文件所在的域的末尾部分。这些设置包括对摄像头和麦克风访问权限、存储配额及永久共享对象存储的设置。

如果 SWF 文件所在的域包含的段数超过两个(如 www.example.com),则会去除该域的第一段 (www),并使用该域的剩余部分。因此,在 Flash Player 6 中,www.example.com 和 store.example.com 都使用 example.com 作为这些设置的域。同样,www.example.co.uk 和 store.example.co.uk 都使用 example.co.uk 作为这些设置的域。这样会导致出现问题,使得来自不相关域(如 example1.co.uk 和 example2.co.uk)的 SWF 文件可以访问相同的共享对象。

在 Flash Player 7 及更高版本中,默认情况下是根据 SWF 文件的精确域来选择播放器设置。例如,来自 www.example.com 的 SWF 文件将使用 www.example.com 的播放器设置,来自 store.example.com 的 SWF 文件将使用 store.example.com 的不同播放器设置。

在使用 ActionScript 3.0 编写的 SWF 文件中,当 Security.exactSettings 设置为 true (默认值)时,Flash Player 将针对精确域使用播放器设置。当它设置为 false 时,Flash Player 使用在 Flash Player 6 中使用的域设置。如果将 exactSettings 更改为使用其他值而不是默认值,则必须在要求 Flash Player 选择播放器设置的任何事件(例如,使用摄像头或麦克风,或者检索永久共享对象)发生之前执行此操作。

如果发布了版本 6 的 SWF 文件并通过该版本创建了永久共享对象,则要从使用 ActionScript 3.0 编写的 SWF 中检索这些永久共享对象,必须先将 Security.exactSettings 设置为 false ,然后再调用 SharedObject.getLocal()