在blocksocial.tpl中,我想发送谷歌分析-社交互动。这是正确的方式吗?我在一个实时站点上尝试了这段代码,但onclick并没有触发点击。
{if isset($facebook_url) && $facebook_url != ''} <li class="facebook"> <a class="_blank" href="{$facebook_url|escape:html:'UTF-8'}" onclick="ga('send', 'social', 'Facebook', 'send', '{$facebook_url|escape:html:'UTF-8'}');return true;"> <span>{l s='Facebook' mod='blocksocial'}</span> </a> </li> {/if}
发布于 2017-04-23 20:05:40
是否可以将onClick代码包装成函数并使用e.preventDefault();作为链接("a“标记)?
{if isset($facebook_url) && $facebook_url != ''}
<li class="facebook">
<a class="_blank" href="{$facebook_url|escape:html:'UTF-8'}" onclick="function(e) {
e.preventDefault();
ga('send', 'social', 'Facebook', 'send', '{$facebook_url|escape:html:'UTF-8'}');
return false;
}">
<span>{l s='Facebook' mod='blocksocial'}</span>
</a>
</li>
{/if}更新
我复制了你的部分代码。在js代码中定义处理函数(例如在head部分):
<head>
...
<script type="text/javascript">
function clickProcess(url) {
ga('send', 'social', 'Facebook', 'send', url);
return true; // set false if you don't need the redirect after code execution
}
</script>
</head>然后使用参数中的URL值将clickProcess设置为onClick处理程序:
{if isset($facebook_url) && $facebook_url != ''}
<li class="facebook">
<a class="_blank" href="{$facebook_url|escape:html:'UTF-8'}" onclick="return clickProcess('{$facebook_url|escape:html:\"UTF-8\"}');">
<span>{l s='Facebook' mod='blocksocial'}</span>
</a>
</li>
{/if}https://stackoverflow.com/questions/43549261
复制相似问题