事件处理 - onClick - 使用带有<embed />标记的Google Analytics

时间:2012-01-26 15:20:01

标签: javascript google-analytics

我正在使用embed标签在我的某个页面上向用户播放声音片段。它看起来像:

<EMBED src='my_soundfile.wav' type='audio/wav' 
controls='smallconsole' autostart='false'  
onClick="_gaq.push(['_trackEvent', 'Audio', 'Play', 'my_soundfile.wav']);">
</EMBED>

当我查看Google Analytics(24小时后)后,没有任何内容显示。我做错了吗?

感谢。

3 个答案:

答案 0 :(得分:1)

我认为如果您更换

,quicktime会捕获点击事件
onclick="_gaq..." 

onclick="alert('test');"

你会看到id也不起作用。

答案 1 :(得分:1)

不是等待24小时查看是否已跟踪任何分析数据,而是熟悉一些网络工具,这样您至少可以查看是否有对分析跟踪像素的请求。一些工具是:

  • Fiddler - 网络调试代理。您可以添加过滤器,仅查看google-analytics.com的流量
  • 在Chrome中,开发人员工具是您的朋友 - 网络标签可以显示来自google-analytics.com的__utm.gif请求。
  • 同样,Firefox和FireBug Net标签。

答案 2 :(得分:0)

进行了一些研究,但我想出了如何使用Quicktime JavaScript API documentation捕获您正在寻找的DOM事件。

您可以在此处查看一个有效的示例:http://jsfiddle.net/PUv4s/6/

将以下属性添加到embed标记:

postdomevents="true" EnableJavaScript="true"

然后,您可以通过执行以下操作来捕获事件:

document.getElementById("foo").addEventListener("qt_play", function(e) {
    console.dir(e);
    alert("play triggered");
   _gaq.push(['_trackEvent', 'Audio', 'Play', e.target.src]);
}, false);

显然,这不包括IE(使用attachEvent),但它应该类似。