如何在PHP上生成的链接中添加onClick事件?

时间:2019-03-20 09:48:12

标签: javascript php google-analytics

我正在尝试在PHP文件中的链接上添加onclick事件。

$body2 .= '<td class="sampling-list-td download-link">' . '<a ' . 'class="sampling-list-download" ' . 'href="#" ' . 'data-id="' . $assetId . '" ' . 'data-type="' . $assetType . '" ' . 'data-event="LogFileElaboration" ' . 'data-file="' . $fileName . '" ' . 'data-enterprise="' . $provisionedBuId . '"' . '>'
                . '<i class="glyphicon glyphicon-download-alt" style="color: rgb(109, 110, 113); zoom: 1.3;"></i>'
                    . '</a>' . '</td>';

这就是我想要做的:

 $body2 .= '<td class="sampling-list-download" ' . 'onClick="ga('send', 'event', { eventCategory: 'download', eventAction: 'click', eventLabel: 'Files Download'});" ' . 'href="#" ' . 'data-id="' . $assetId . '" ' . 'data-type="' . $assetType . '" ' . 'data-event="LogFileElaboration" ' . 'data-file="' . $fileName . '" ' . 'data-enterprise="' . $provisionedBuId . '"' . '>'
                . '<i class="glyphicon glyphicon-download-alt" style="color: rgb(109, 110, 113); zoom: 1.3;"></i>'
                    . '</a>' . '</td>';

但是我遇到以下错误:

ParseError:语法错误,意外的“发送”(T_STRING)

我不知道我在做什么错?我正在尝试为Google Analytics(分析)T_T添加事件跟踪代码

2 个答案:

答案 0 :(得分:3)

'send'中的引号结束了您在onClick之前开始的字符串。字符串终止后,它将再次解释为PHP,并且send在这里不是有效的关键字。

为防止这种情况,您可以像这样'

来转义'onClick="ga(\'send\', \'event\', { e...

答案 1 :(得分:1)

这是一个报价问题。在onclick中\之前这样添加'才能更改。否则每次'。会中断字符串并在文本执行之后,如php语句或变量。如果php send无效,那么您会报错

 $body2 .= '<td class="sampling-list-download" ' . 'onClick="ga(\'send\', \'event\', { eventCategory: \'download\', eventAction: \'click\', eventLabel: \'Files Download\'});" ' . 'href="#" ' . 'data-id="' . $assetId . '" ' . 'data-type="' . $assetType . '" ' . 'data-event="LogFileElaboration" ' . 'data-file="' . $fileName . '" ' . 'data-enterprise="' . $provisionedBuId . '"' . '>'
                . '<i class="glyphicon glyphicon-download-alt" style="color: rgb(109, 110, 113); zoom: 1.3;"></i>'
                    . '</a>' . '</td>';