从我的域中获取 Flash 共享对象
Get flash shared object from my domain
我正在尝试为托管在我的域中的 SWF 清除 flash cookie。是否可以获取此 flash cookie (sharedObject) 以便将其清除?访问 this 页面在站点列表中显示我的域,但我希望能够从另一个 SWF 文件中清除这些域,如果要重置 cookie,该文件将被绘制。任何帮助表示赞赏!
您可以使用 SharedObject/clear()
执行此操作,但有一些限制:
- 清除共享对象的 SWF 必须与创建共享对象的 SWF 在同一个域中。
- 必须使用两个 SWF 都可以访问的路径创建共享对象。最简单的方法是使用
"/"
作为路径,这样域中的所有 SWF 都可以访问共享对象。默认路径仅限制对创建共享对象的 SWF 的访问。
- 您必须知道所有共享对象的确切名称。换句话说,您无法查询域中的所有共享对象,您必须知道共享对象名称(和路径)。 (不过,您当然可以将自己的共享对象注册表保存在一个已知的共享对象中。)
例如:
域名.com/my/path/writer1.swf
var so:SharedObject = SharedObject.getLocal("savedData1", "/");
so.data.something = "Something";
域名.com/my/other/writer2.swf
var so:SharedObject = SharedObject.getLocal("savedData2", "/");
so.data.stuff = "Stuff";
域名.com/other/thing/writer3.swf
var so:SharedObject = SharedObject.getLocal("savedData3", "/");
so.data.thing = "Thing";
域名.com/eraser.swf
SharedObject.getLocal("savedData1", "/").clear();
SharedObject.getLocal("savedData2", "/").clear();
SharedObject.getLocal("savedData3", "/").clear();
或
var sharedObjectNames:Array = ["savedData1", "savedData2", "savedData3"];
for each(var sharedObjectName:String in sharedObjectNames){
SharedObject.getLocal(sharedObjectName, "/").clear();
}
请注意,当您使用 "/"
作为路径时,您必须注意不要发生名称冲突。
我正在尝试为托管在我的域中的 SWF 清除 flash cookie。是否可以获取此 flash cookie (sharedObject) 以便将其清除?访问 this 页面在站点列表中显示我的域,但我希望能够从另一个 SWF 文件中清除这些域,如果要重置 cookie,该文件将被绘制。任何帮助表示赞赏!
您可以使用 SharedObject/clear()
执行此操作,但有一些限制:
- 清除共享对象的 SWF 必须与创建共享对象的 SWF 在同一个域中。
- 必须使用两个 SWF 都可以访问的路径创建共享对象。最简单的方法是使用
"/"
作为路径,这样域中的所有 SWF 都可以访问共享对象。默认路径仅限制对创建共享对象的 SWF 的访问。 - 您必须知道所有共享对象的确切名称。换句话说,您无法查询域中的所有共享对象,您必须知道共享对象名称(和路径)。 (不过,您当然可以将自己的共享对象注册表保存在一个已知的共享对象中。)
例如:
域名.com/my/path/writer1.swf
var so:SharedObject = SharedObject.getLocal("savedData1", "/");
so.data.something = "Something";
域名.com/my/other/writer2.swf
var so:SharedObject = SharedObject.getLocal("savedData2", "/");
so.data.stuff = "Stuff";
域名.com/other/thing/writer3.swf
var so:SharedObject = SharedObject.getLocal("savedData3", "/");
so.data.thing = "Thing";
域名.com/eraser.swf
SharedObject.getLocal("savedData1", "/").clear();
SharedObject.getLocal("savedData2", "/").clear();
SharedObject.getLocal("savedData3", "/").clear();
或
var sharedObjectNames:Array = ["savedData1", "savedData2", "savedData3"];
for each(var sharedObjectName:String in sharedObjectNames){
SharedObject.getLocal(sharedObjectName, "/").clear();
}
请注意,当您使用 "/"
作为路径时,您必须注意不要发生名称冲突。