Flash Player 6。
myLocalSharedObject
.flush([minimumDiskSpace
])
minimumDiskSpace
一个可选整数,指定必须为此对象分配的字节数。默认值为 0。
布尔值 true
或 false
,或者是字符串值 "pending"
。
true
。(如果已为 minimumDiskSpace
传递了一个值,则所分配的空间量必须至少等于使此方法能够返回 true
的值)。"pending"
。 false
。方法;将本地永久共享对象立即写入本地文件。如果您不使用此方法,则 Flash 会在共享对象会话结束时(也就是说,在 SWF 文件关闭时、在共享对象不再具有引用而被作为垃圾回收时、或者在您调用 SharedObject.data
时)将共享对象写入文件。
如果此方法返回 "pending"
,Flash Player 将显示对话框要求用户增加磁盘空间量以供此域中的对象使用。若要允许将来保存共享对象时其空间能够“增长”,从而避免返回值 "pending"
,请为 minimumDiskSpace
传递一个值。当 Flash 尝试写入文件时,它查找传递到 minimumDiskSpace
的字节数,而不是查找以共享对象的当前大小保存该对象刚刚够用的空间。
例如,如果预期共享对象增长到最大大小 500 字节,则即使它开始时要小得多,也为 minimumDiskSpace
传递 500。如果 Flash 要求用户为该共享对象分配磁盘空间,它将要
求 500 字节。在用户分配了请求的空间量之后,当以后尝试刷新该对象时(只要其大小不超过 500 字节),Flash 将无需要求更多的空间。
在用户响应该对话框之后,此方法将被再次调用并返回 true
或 false
;另外,将用 SharedObject.Flush.Success
或 SharedObject.Flush.Failed
的 code
属性调用 SharedObject.onStatus
。
有关更多信息,请参见本地磁盘空间注意事项。
下面的函数获取共享对象 SO
,并用用户提供的设置填充可写属性。最后,调用 flush()
以保存设置并分配最少 1000 字节的磁盘空间。
this.SyncSettingsCore=function(soname, override, settings) { var SO=SharedObject.getLocal(soname, "http://www.mydomain.com/app/sys"); // 设置列表索引 var i; // 对于设置中每个指定的值: // 如果 override 为 true,则将永久设置设置为所提供的值。 // 如果 override 为 false,则获取永久设置,除非 // 没有永久设置,在这种情况下,将其设置为所提供的值。 for (i in settings) { if (override || (SO.data[i] == null)) { SO.data[i]= settings[i]; } else { settings[i]= SO.data[i]; } } SO.flush(1000); }