0

OK送信時に検証メッセージを生成するフォームがあります。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

divクラスを追加して、それに作用するjsがすでにあると言います。それを行うjsコード内でGA呼び出しを行うことができないのはなぜですか? それを行うのに最適な場所です。

別の方法は、基本的に属性の変更を探し続けることです。div が既に存在する場合、役立つjQuery .watch() プラグインがあります。

div 自体が存在しない場合は、基本的に、それを探してラップするwindow.setIntervalwindow.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 に答える