gpt4 book ai didi

javascript - Google Analytics 事件跟踪 JS 在开发控制台中运行/工作,但不能从 ex 文件中运行/工作

转载 作者:行者123 更新时间:2023-11-28 15:11:16 31 4
gpt4 key购买 nike

我的谷歌分析 JavaScript 事件在开发者控制台中运行得很好。 但是当从外部 js 文件包含在页面上时,它们根本不起作用。由于某种原因。

例如; 下面的内容将在包含在控制台中时运行。但当包含在单独的外部 js 文件中时就不会了。例如。

<script type="text/javascript" src="js/gascript.js"></script>

不,我也尝试过将包含内容移动到页眉和页脚位置内的 3 个不同区域。我还尝试过将脚本包含在“on dom read”的各种版本中

例如,/gascript.js内的GA事件跟踪JS

<小时/>
$(function() {
$('.like').click(function() { // good song, thumbs up
var SongTitle = $('.like-data h2').text();
var date = new Date();
var month = date.getUTCMonth() + 1;
var day = date.getUTCDate();
var year = date.getUTCFullYear();
var time = date.toLocaleTimeString();
var formattedDate = month + '/' + day + '/' + year + '|' + time;
ga('send', 'event', SongTitle, 'Like', formattedDate);
});
});

完整的 html。

<!DOCTYPE html>
<html ng-app="root" ng-controller="IndexCtrl">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">

<title ng-bind="pageTitle"></title>

<!-- Favicon -->
<link rel="icon" href="img/favicon.png" />

<!-- CSS Libraries -->
<!--<link rel="stylesheet" href="css/carousel.css">-->
<link rel="stylesheet" href="bower_components/fontawesome/css/font-awesome.min.css">
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
<!-- <link rel="stylesheet" href="css/bootstrap.min.css"> -->

<!-- CSS Core -->
<link rel="stylesheet" href="css/app.css"/>

<!-- Pre-load-required JS Libraries -->
<script src="bower_components/jquery/dist/jquery.min.js"></script>

<!-- Modified carousel plugin -->
<link rel="stylesheet" type="text/css" href="plugins/3DSlider/css/style.css" />
<script type="text/javascript" src="plugins/3DSlider/js/modernizr.custom.53451.js"></script>
<script type="text/javascript" src="plugins/3DSlider/js/jquery.gallery.js"></script>

</head>
<body ng-click="clickBody()">

<!-- modular HTML components here -->

<!-- Angular Files -->
<script type="text/javascript" src="bower_components/angular/angular.min.js"></script>
<script type="text/javascript" src="bower_components/angular-mocks/angular-mocks.js"></script>
<script type="text/javascript" src="bower_components/angular-route/angular-route.min.js"></script>
<script type="text/javascript" src="bower_components/angular-animate/angular-animate.min.js"></script>
<script type="text/javascript" src="bower_components/angular-soundmanager2/dist/angular-soundmanager2.js"></script>
<script type="text/javascript" src="plugins/bootstrap/modal.js"></script>
<script type="text/javascript" src="js/app.js"></script>
<script type="text/javascript" src="js/gascript.js"></script><!-- here -->
<script type="text/javascript" src="js/controllers.js"></script>
<script type="text/javascript" src="js/directives.js"></script>
<script type="text/javascript" src="js/filters.js"></script>
<script type="text/javascript" src="js/services.js"></script>
<script type="text/javascript" src="js/services2.js"></script>

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

</script>

</body>
</html>

另请注意,我通过 UI 路由器注入(inject)方法将 GA 包含在我的应用程序中。

例如。

http://jasonwatmore.com/post/2015/11/07/AngularJS-Google-Analytics-with-the-UI-Router.aspx

最佳答案

我最好的猜测是,当脚本运行时,目标元素 .like 不存在于 DOM 中。这意味着 click 事件没有绑定(bind)到任何东西;这也是为什么您能够在粘贴到控制台时运行脚本(此时,.like 元素确实存在)。

也许尝试事件委托(delegate):

$('body').on('click', '.like', callbackFunction);

请参阅“直接和委托(delegate)事件”:http://jqapi.com/#p=on

使用事件委托(delegate)将确保为 body 的后代元素触发事件,在本例中为 .click 元素。即使将来添加更多后代元素,单击事件也会触发。

关于javascript - Google Analytics 事件跟踪 JS 在开发控制台中运行/工作,但不能从 ex 文件中运行/工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362104/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com