2012-03-26 36 views
0

我的任务是跟踪用户与包含多个章节的Flash动画的交互。我需要跟踪用户决定观看哪些章节。 但我无法访问Flash动画本身,我无法修改它是否有可能跟踪用户与SWF外部和浏览器之间的Flash交互?

该电影加载模式。我可以访问模态生成的HTML页面。

这是界面的截图。共有6章。用户可以选择他们想要观看的章节。然后他们可以点击Play Your Demo。另外还有一个Play All按钮。我想跟踪用户选择的章节。

这可以用闪光灯轻松完成,但这不是一个选项。我希望我可以在页面上使用jQuery来监视用户点击。我倾向于说这是不可能的,因为JS无法跟踪与Flash电影的事件/交互,但我可能是错的。

任何想法表示赞赏。

enter image description here

+0

Actionsript - > jS和js - > actionscript可以相互发送事件,但你需要访问他们两个,以便在 – safarov 2012-03-26 18:36:14

+0

之间进行整合我的想法是将Flash文件包装在Div中,使用mousedown函数捕获事件,并使用坐标来匹配用户在SWF文件中所使用的位置。然后根据他们的X,Y mousedown做出回应,并将它发送给任何需要跟踪它,_gaq.push,数据库写入等。 – Ohgodwhy 2012-03-26 18:38:29

+1

就像旁边...我觉得你真的很糟糕@Mohamad,这听起来很不错像一个可怕的任务被分配。 – jessegavin 2012-03-26 18:44:48

回答

2

您将需要能够使用JavaScript这些事件的Flash影片中发生了检测。除非你的Flash电影已经被编程为发送消息给javascript(通过ExternalInterface类作为@Diodeus提到的),否则你不能在客户端执行此操作。

如果Flash影片本身被拆分成几个单独的“子”swfs,这些swfs是从父SWF动态加载的,那么您可能可以从服务器日志中收集一些分析。例如,如果“第1章”按钮加载名为“chatper_1.swf”的子SWF,则服务器应该记录该请求。

1

想一想:如果您可以修改加载SWF内容的HTML页面,则可以通过创建ActionScript包装程序来跟踪Flash事件,然后然后将原始SWF加载到其自己的应用程序域。除非程序员明确阻止它,否则大部分鼠标事件和ADDED和REMOVED事件都会在显示列表中起泡。因此,如果您将事件侦听器添加到加载的内容中,您可能可以对其内部的内容进行一些反省。

当然,不可能说明您可以从中收集多少信息,但似乎值得一试。

+0

有趣的做法。不过,这需要Flash的一些工作知识。假设我用div封装了电影并基于使用jQuery的点击坐标创建了点击图,那么即使电影在用户调整其浏览器窗口大小时调整其大小,它是否也能工作? – Mohamad 2012-03-26 20:57:42

+0

假设您的点击地图旨在适应调整大小 - 是的。只有你不会从那张地图上学到很多东西,除了一堆坐标 - 没有语义上下文。 – weltraumpirat 2012-03-26 21:20:32

相关问题