gpt4 book ai didi

reactjs - 如何使用到达路由器和谷歌分析来跟踪页面浏览量?

转载 作者:行者123 更新时间:2023-12-03 17:11:19 24 4
gpt4 key购买 nike

我正在将主干应用程序移植到 React 应用程序。在 backbone 应用程序中,我有以下代码片段

    <!-- Begin UA code -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-xxx', 'auto');

// Load plugins

// Rewrite all GA pages with /ra_minisite prefix
ga('require', 'cleanUrlTracker', {
stripQuery: true,
queryDimensionIndex: 1,
urlFieldsFilter: function(fieldsObj, parseUrl) {
fieldsObj.page = '/ra_minisite'+parseUrl(fieldsObj.page).pathname
return fieldsObj;
},
});

ga('require', 'eventTracker');
ga('require', 'maxScrollTracker');

// Customize so WS.com not tracked as outbound link
ga('require', 'outboundLinkTracker');

ga('require', 'socialWidgetTracker');
ga('require', 'urlChangeTracker');

// Commented out so we can call after all API calls are done
// Called from metaManager
// ga('send', 'pageview');

</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
<script async src="/autotrack.js"></script>
<!-- end UA code -->

然后在更新它调用的元标记后在每个页面上呈现

window.ga('send', 'pageview');

我假设我可以将初始化逻辑放到 index.html 中,但是将 window.ga('send', 'pageview'); 挂接到 reach router 是一种简单的好方法,以便当路由更改或更新时,页面浏览量将被发送到 GA?

最佳答案

可以监听全局历史对象。在你的 App.js 中:

import { globalHistory } from '@reach/router';

globalHistory.listen(({ location }) => {
window.ga('send', 'pageview');
// or use the new gtag API
window.gtag('config', 'GA_MEASUREMENT_ID', {'page_path': location.pathname});
});

这是最简单的方法,代码量最少,而且与最佳答案中的 LocationProvider 方法不同,它不会破坏全局 navigate API。

不幸的是,globalHistory 似乎没有在任何地方记录,因此很难找到。

关于reactjs - 如何使用到达路由器和谷歌分析来跟踪页面浏览量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53193975/

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