1

有没有办法在我的域上为 SharedObject 设置(大)最大大小,以便我可以要求用户一次分配大于 100k 的大小而无需再次询问,即使添加了数据?

4

1 回答 1

3

如果您在SharedObject.flush(minDiskSpace:int = 0):String没有任何金额值的情况下调用,则每次调用它以追加数据,如果达到限制,将打开一个框要求用户更改限制以匹配数据的确切大小(以前+追加) .

所以如果你总是添加数据(需要更多空间),每次都会打开盒子,因为数据(和限制)总是大于前一个。

因此设置minDiskSpace为 500k 的值(例如)如果您每次追加 49k,用户将被要求追加数据的第 3 次和第 11 次(只有当用户允许时,才会抛出永久不允许存储的错误)

请参阅flash.net.SharedObject.flush()文档:

例如,如果您希望共享对象的最大大小增加到 500 字节,即使它一开始可能要小得多,也可以为 minDiskSpace 传递 500。如果 Flash 要求用户为共享对象分配磁盘空间,它会要求 500 字节。在用户分配请求的空间量后,Flash 将不必在以后尝试刷新对象时请求更多空间(只要其大小不超过 500 字节)。

用户响应对话框后,再次调用该方法。使用 SharedObject.Flush.Success 或 SharedObject.Flush.Failed 的代码属性调度 netStatus 事件。

于 2011-03-11T00:04:42.083 回答