3

モーダル ウィンドウを含む他のユーザーが作成したページがあり、各モーダル ウィンドウにはホバー時に表示されるリンク/画像があります。参考までに、私は JavaScript と jQuery の理解が非常に限られています。

私が達成しようとしているのは、モーダル ウィンドウのリンクに Google アナリティクス イベント タグを追加することです。onclick (以下のコード) をアンカータグに直接追加するか、jQuery/JavaScript を介してリンクに追加すると機能します)。イベントは、Google アナリティクスでクリック イベントとして発生する必要があります。

通常、次のように追加します。

onclick="_gaq.push(['_trackEvent','Parameter 1', 'Parameter 2', 'Parameter 3']);"

アンカータグに直接追加しますが、HTML のアンカータグにコードを追加するたびに、jQuery が機能しなくなります。モーダル ウィンドウは次のリンクで正しく動作します: http://cookware.lecreuset.com/cookware/content_cast-iron-guide-sizes_10151_-1_20002

また、次のリンクで「動作を停止する」という意味を確認できます。リスト タグ内のアイテムが読み込まれなくなりました。つまり、アイコンが表示されず、ホバー時に表示される新しいコンテンツが表示されません。アクセス: http://cookware.lecreuset.com/cookware/content_test-form_10151_-1_20002

ほとんどのリンクは jQuery で作成されるため、最初に .click、.attr、.on、.bind を使用して Google タグを追加しようとしましたが、うまくいきませんでした。上記のリンクは、.click 関数を使用した私の試みを示しています (CIGuide を検索すると、2 番目のリンクのソースで見つかります) が、どの JavaScript をページに追加しても同じように壊れます。元の質問は次のとおりです: .attr によって作成されたリンクに Google アナリティクス イベント タグを正常に追加できません

これらの 2 つのいずれも機能させることができなかったので、提供されたすべてのコンテンツの外側のページで、独自の JavaScript タグを使用して簡単なアラートを試してみることにしました。仕事。完全に機能しましたが、モーダル機能はまだ壊れていました。

上部のナビゲーションのアンカーと、ページの左右の矢印に Google タグを正常に追加できました。しかし、他のものにタグを付けようとすると、いつでも壊れます。

私が協力している代理店は、Google タグをサーバーでテストするときに問題なくアンカーに追加できます。ローカル マシンでテストすると、イベントが発生するのを確認できます。サーバーまたは OpenCMS に問題があると想定する必要があります。ただし、どのブラウザー/デバッガーでもエラー メッセージは表示されず、JSLint を使用してスクリプトの追加を検証し、すべてチェックアウトしました。

これは私を夢中にさせています!これが機能しない理由と、ページにイベントタグを追加する方法を理解するのを手伝ってくれる人はいますか?

4

2 に答える 2

0

GA プッシュ メソッドのコールバックを使用して、タイムアウトを追加できます。あなたの場合、次のようなことを試してください:

var submitBtn = $('.submit-btn');

submitBtn.on('click', function(e) {
    var that = this;

    if (typeof _gaq != 'undefined') {
        e.preventDefault();

        _gaq.push(['_trackEvent','Parameter 1', 'Parameter 2', 'Parameter 3'], function() {
            setTimeout(function() {
                window.location = $(that).attr('href');
            }, 100);
        });
    }
});
于 2013-07-11T23:15:43.287 に答える
0

あなたが達成しようとしていること、そしてそれがうまくいくかどうかは完全にはわかりません。

$(document).ready(function() {

    $("#modal_sizes_1 a").each(function( index, elem ) {

        $(elem).click(function() {

            _gaq.push(['_trackEvent','Parameter 1', 'Parameter 2', 'Parameter 3']);
        });
    });
});

更新
わかりましたので、次の行についてだと思います:

<a
    href="/cookware/content_cast-iron-guide-about_10151_-1_20002"
    title="About Cast Iron" 
    onclick="_gaq.push(['_trackEvent','CIGuide', 'Click', 'About Cast Iron']);"

>About Cast Iron</a>

そして、私はそれをこのように変更しようとします

<a
    href="/cookware/content_cast-iron-guide-about_10151_-1_20002"
    title="About Cast Iron" 
    onclick="setTimeout(function(){
        _gaq.push(['_trackEvent','CIGuide', 'Click', 'About Cast Iron']);
    },0);"

>About Cast Iron</a>

0または、10 や 50 のように、遅延を よりも長くすることもできます。

于 2012-12-19T21:26:55.403 に答える