1

GTM (Google タグ マネージャー) では、カスタム JavaScript マクロを使用できます。これは、タグまたはルールによって使用されるものを返す匿名関数です。

各マクロは try/catch を使用しているため、実装エラーを簡単に表面化できます (UA タグによってキャッチされる dataLayer イベントを発生させます)。

しかし、ここで奇妙なことがあります... try/catch のコメントを外すと、GTM は頑固にそれを使用することを拒否し、エラーは発生しません... しかし、常に保存モードになります (つまり、ブラウザは何かを待ち続けます)。デバッグ コンソールで実行すると、このコードが機能することはわかっています。また、同じ try/catch 手法を使用するマクロが他にもあります。何か考えはありますか?

function () {
    /*try {*/
        var v = '';
        // HTML5 video
        if(document.getElementsByTagName('video').length) v += 'video,';
        // Youtube video
        var i = document.getElementsByTagName('iframe');
        for(x = 0; x < i.length; x++)
            if(/youtube.com\/embed/.test(i[x].src)) {
                v += 'youtube,';
                break;
            }
            // Limelight video
        if(document.getElementsByClassName('LimelightEmbeddedPlayer')) v += 'limelight,';
        return v.length ? v.slice(0, -1) : v;
    /*} catch(e) {
        dataLayer.push({
            'event': 'error',
            'action': 'GTM',
            'label': '713-Video Type:' + e.message
        });
    }*/
}
4

1 に答える 1