Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 是否可以在SWF外部和浏览器中跟踪用户与flash的交互?_Jquery_Flash_Tracking_Interaction - Fatal编程技术网

Jquery 是否可以在SWF外部和浏览器中跟踪用户与flash的交互?

Jquery 是否可以在SWF外部和浏览器中跟踪用户与flash的交互?,jquery,flash,tracking,interaction,Jquery,Flash,Tracking,Interaction,我的任务是通过一部包含多个章节的flash电影跟踪用户交互。我需要跟踪用户决定观看哪些章节但我无法访问flash电影本身,无法修改它 电影以模态加载。我确实可以访问生成模式的HTML页面 这是界面的截图。全文共六章。用户可以选择他们想要观看的章节。然后,他们可以单击播放演示。另外还有一个播放所有按钮。我想跟踪用户选择的章节 这可以用flash轻松完成,但这不是一个选项。我希望我可以在页面上使用jQuery来监控用户的点击。我倾向于说这是不可能的,因为JS不能跟踪flash电影的事件/交互,但我可

我的任务是通过一部包含多个章节的flash电影跟踪用户交互。我需要跟踪用户决定观看哪些章节但我无法访问flash电影本身,无法修改它

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

这是界面的截图。全文共六章。用户可以选择他们想要观看的章节。然后,他们可以单击
播放演示
。另外还有一个
播放所有
按钮。我想跟踪用户选择的章节

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

欢迎提出任何意见


您需要能够使用Javascript来检测flash电影中何时发生这些事件。除非您的flash电影已经编程为向javascript发送消息(通过@Diodeus提到的
ExternalInterface
类),否则无法在客户端执行此操作


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

您需要能够使用Javascript检测flash电影中何时发生这些事件。除非您的flash电影已经编程为向javascript发送消息(通过@Diodeus提到的
ExternalInterface
类),否则无法在客户端执行此操作


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

一个想法:如果您可以修改加载内容SWF的HTML页面,您可能可以通过创建ActionScript包装程序来跟踪Flash事件,然后将原始SWF加载到自己的应用程序域中。大多数鼠标事件以及添加和删除的事件都会在显示列表中冒泡出现,除非程序员明确阻止。因此,如果您将事件侦听器添加到加载的内容中,您可能会对其中发生的事情进行一些内省


当然,很难说你能从中收集到多少信息,但这似乎值得一试。

只是想一想:如果你能修改SWF加载到的HTML页面,你也许可以通过创建ActionScript包装程序来跟踪Flash事件,然后将原始SWF加载到自己的应用程序域中。大多数鼠标事件以及添加和删除的事件都会在显示列表中冒泡出现,除非程序员明确阻止。因此,如果您将事件侦听器添加到加载的内容中,您可能会对其中发生的事情进行一些内省


当然,很难说你能从中收集到多少信息,但这似乎值得一试。

Actionsript->jS和jS->actionscript可以互相发送事件,但你需要访问这两个脚本来实现两者之间的集成。我的想法是将flash文件封装在一个Div中,使用mousedown函数捕获事件,并使用坐标匹配用户在SWF文件中的鼠标所有权位置。然后根据他们的X,Y mousedown得到一个响应,并将其发送给需要跟踪它的任何人,_gaq.push,数据库写入,等等。就像一个旁白。。。“我真的为你感到难过@Mohamad,这听起来像是一个可怕的任务被分配出去了。@Ohgoodwhy,纳闷,如果flash电影在浏览器窗口也调整了大小的情况下调整了大小,这会不会搞砸?Actionsript->jS和jS->actionscript可以互相发送事件,但您需要访问这两个脚本以实现两者之间的集成。我的想法是将flash文件包装在一个Div中,使用mousedown函数捕获事件,并使用坐标匹配用户鼠标在SWF文件中的位置。然后根据他们的X,Y mousedown得到一个响应,并将其发送给需要跟踪它的任何人,_gaq.push,数据库写入,等等。就像一个旁白。。。我真的为你感到难过@Mohamad,这听起来像是一个可怕的任务。@Ohgodd,奇怪的是,如果flash电影在浏览器窗口也调整了大小的情况下也调整了大小,这会不会搞砸呢?有趣的方法。不过,这需要一些flash的工作知识。假设我将电影包装在一个div中,并使用jQuery基于点击坐标创建了一个点击贴图,那么即使用户调整浏览器窗口大小时电影本身也会调整大小,这是否有效?假设您的点击贴图设计为适应调整大小-是。只有你不会从地图上学到很多东西,除了一堆坐标-没有语义上下文。有趣的方法。不过,这需要一些flash的工作知识。假设我将电影包装在一个div中,并使用jQuery基于点击坐标创建了一个点击贴图,那么即使用户调整浏览器窗口大小时电影本身也会调整大小,这是否有效?假设您的点击贴图设计为适应调整大小-是。只有你不会从那张地图中学到很多东西,除了一堆坐标——没有语义上下文。