0

我有一个表单,可以在提交时生成验证消息。一个 js 脚本添加一个类 'wpcf7-mail-sent-ok' 来显示正确的消息和渲染。

 <div class="wpcf7-response-output wpcf7-display-none wpcf7-mail-sent-ok" style="display: block;">Votre message a bien été envoyé. Merci.</div>

我想听听这个 js 类的变化来关联一个 ga 跟踪

     $('.wpcf7-response-output).(????APPEARENCE OF CLASS .wpcf7-mail-sent-ok'???)(function() {
  _gaq.push(['_trackEvent', 'formulaire', 'devis_voyage', 'wpcf7-mail-sent-ok']);
    });
4

1 回答 1

2

你说你已经有 js 作用于它div,添加类。为什么不能在执行此操作的 js 代码中进行 GA 调用?那将是最好的地方。

因为替代方案基本上是继续寻找属性的变化。如果 div 已经存在,有一个jQuery .watch() 插件会有所帮助。

如果 div 本身不存在,那么您基本上将不得不编写一些代码来查找它并将其包装在 a 中,window.setInterval或者window.setTimeout继续查找它直到找到它。它看起来像这样(未经测试):

function trackSubmit () {
  if ( $('.wpcf7-response-output').length>0 ) {
    _gaq.push(['_trackEvent', 'formulaire', 'devis_voyage', 'wpcf7-mail-sent-ok']);    
  } else {
    window.setTimeout('trackSubmit',100);
  }
}
// make the initial call to get the ball rolling. This should happen on page load, sometime after jQuery is loaded
trackSubmit();

两者.watch()trackSubmit()解决方案都会影响您页面的性能,因此我建议您尝试将 GA 调用移动到已经执行的 js 中。

于 2013-10-16T13:07:21.850 回答