Flash CS3 文档 |
|||
| ActionScript 3.0 编程 > Flash Player 安全性 > 处理旧内容 | |||
在 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()。
Flash CS3
当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000358.html