私が現在作成しているウェブサイトにGoogle Analyticsを実装しようとしています。 PDFファイルを開くページにリンクがあり、ファイルのオープン数を追跡しようとしています。別のページを開くときにjQueryスクリプトが正常に動作しない
Chromeのjavascriptコンソールを使用していて、アラートボックスが開いているので、次のコードが動作することがわかります。
<a id="ga-link" href="path.to.my.file.com">Open PDF file</a>
<script>
(function($) {
$("#ga-link").on("click", function(event){
event.preventDefault();
gtag('event', 'view', {
'filetype':'pdf',
'filename':'file1',
'event_callback': function() {alert("1");}
});
});
})(jQuery);
</script>
しかし、私は
私は実際に何をしたいです'event_callback': function() {$(#ga-link).click();}
と
'event_callback': function() {alert("1");}
を交換した場合、スクリプトが実行されません。代わりに、ファイルが直接開かれます(Analyticsにトラッキング情報が送信されません)。
私もGoogle Analytics documentationからJavaScriptコードを使用してみました:
var btn = document.getElementById('ga-link');
btn.addEventListener('click', function(event) {
event.preventDefault();
gtag('event', 'view', {
'filetype':'pdf',
'filename':'file1',
'event_callback': function() {btn.click();}
});
});
はこれまでまっすぐ全く、関係なく、私の'event_callback'
機能が何であるか動作しません。
どちらの場合も、私はPDFを同じタブと新しいタブで開き、同じ結果を得ようとしました。
イベントが循環的になっているためです。 btn.click()が呼び出されると、イベントリスナーの「クリック」が再び表示されます。 – TejSoft
Damn。それは振り返ってみると分かります – SvbZ3r0
どうやってこれを解決しますか?私は、jsやjqueryに慣れておらず、明らかな解決策を見ていません。 – SvbZ3r0