Actionscript 3 带flash播放器的饼干

Actionscript 3 带flash播放器的饼干,actionscript-3,cookies,flash,Actionscript 3,Cookies,Flash,我想知道如何创建一个flash cookie来跟踪访问者 有关更多信息,我已经使用html和appnexus制作了相同的东西来获取访问者的ID。有一个SharedObject,可以描述为Flash Cookie 下面是一个如何记住用户上次登录时间的小示例: var sharedObject:SharedObject = SharedObject.getLocal("testObj"); if (sharedObject.data.id == null) { sharedObject.d

我想知道如何创建一个flash cookie来跟踪访问者


有关更多信息,我已经使用html和appnexus制作了相同的东西来获取访问者的ID。

有一个SharedObject,可以描述为Flash Cookie

下面是一个如何记住用户上次登录时间的小示例:

var sharedObject:SharedObject = SharedObject.getLocal("testObj");

if (sharedObject.data.id == null)
{
    sharedObject.data.id = 20;
    sharedObject.flush();
}

trace(sharedObject.data.id); // 20
id对象将被保存,以后可以访问/修改

有关SharedObject的更多信息,请访问以下链接:

正如“创造性魔法”所述,您可以使用SharedObject在Flash中持久化数据,就像使用Cookie在Javascript中持久化数据一样

鉴于您引用了“html”和“访问者ID”,我假设您希望在浏览器窗口的上下文中实现这一点

如果我是正确的,您应该知道您不能直接使用Javascript使用SharedObjects。您还应该知道,您可以通过Actionscript代码间接实现这一点(他/她的答案中包含了一个“创造性魔术”的示例)

首先,您需要将ActionScript代码封装在一个方法中,然后将该方法注册为其父应用程序外部接口的一部分:

function handleObjects(/*param1, param2, ... */):void {/*code*/}
ExternalInterface.addCallback("handleObjects");
其次,您将需要编译Actionscript应用程序(代码),并在HTML中创建一个元素来引用生成的.swf文件

然后,假设前面提到的HTML元素表示为名为
FlashDomeElement
的DomeElement,您可以使用DomeElement调用您的方法:

flashDOMElement.handleSharedObjects(/*arg1, arg2, ... */);

如果你不想经历这一切的麻烦,那就去看看吧;它是一个Javascript库,建立了一个统一的接口,可用于在所有本机和一些非本机存储设施(包括Flash本地共享对象)中执行公共存储操作

有了它,创建LSO可以通过以下简单代码完成:

bakedGoods.set({
    data: [{key: "key", value: "value"}],
    storageTypes: ["flash"],
    complete: function(byStorageTypeRemovedItemKeysObj, byStorageTypeErrorObj){/*code*/}
});
检索和删除数据同样简单。相信我,我知道;我是它的维护者:)