SharedObject 多文件实时共享

发表评论 阅读评论

SharedObject 是个好东西,它跟html的cookie类似,都能在本地存储数据,但又比cookie强大,可以存储更多的类型。 OK,知道了SharedObject的用处,我们来玩点高级点的。

应用场景

本地有两个swf需要共享一些数据,比如说当前有多少个应用的副本打开了。

解决思路

  1. 首先我们在应用初始化的时候随机生成一个字符串,并将这个字符串写入一个公共的SharedObject。
  2. 不断的访问公共的sharedObject,以便获取当前有多少个实例。

遇到问题

当第二个swf也获取到公共的SharedObject后,第一个swf拥有公共SharedObject对失去对磁盘操作的权限(访问和修改)。
也可以这样描述:当多个swf对同一个SharedObject操作时,只有最后一个swf对SharedObject的操作的真的,之前的swf的SharedObject.flush()方法失效了。

解决问题方法

如果你看了上面的链接将会知道解决方法,不过我这里依然再写下来:

// 注意这里每次使用的时候要重新获取SharedObject
var so:SharedObject = SharedObject.getLocal("realTimeSharing", "/");

点击再打开一个页面以便查看效果

这是实时共享flash共享对象的demo,如果你看不到这个flash,请到文章页面查看!

示例源码下载

  1. | |

    这个要顶!

  2. |

    国庆快乐 :lol:

  3. | |

    @Calvin
    哈哈,同乐 :razz:

  4. |

    I would like to exchange links with your site lite3.cn
    Is this possible?

  5. |

    some truly wondrous work on behalf of the owner of this web site , absolutely great content material .

  6. | |

    这个要顶!

  7. | |

    这个要顶!

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
回到顶部