我使用angulartics2跟踪事件,并跟踪谷歌分析的其他信息。
所以,我只是用
Angulartics2Module.forRoot({ pageTracking: { autoTrackVirtualPages: true } }) - in主应用程序模块和Angulartics2GoogleAnalytics.startTracking() - in主应用程序组件。
这种跟踪角度路由器中存在的所有路由的方法会改变,但我需要避免跟踪根(/)路由。
我尝试过将angulartics模块配置为{ pageTracking: { autoTrackVirtualPages: true, excludedRoutes: ['/'] } }或{ pageTracking: { autoTrackVirtualPages: true, excludedRoutes: [/\//] } },但它并不像我所期望的那样工作。
是否有一个简单的方法来排除这条路线的跟踪?
发布于 2020-07-07 09:16:21
对于那些将面临同样问题的人来说,其中一个选择是:
创建单独的服务,它将使用全局分析脚本,并在路由与您的情况匹配时避免跟踪操作。
export class AnalyticsService {
constructor(private readonly router: Router) {}
startRouterTracking(): void {
this.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
const { urlAfterRedirects } = event;
if (urlAfterRedirects.trim() === '/') {
return;
}
// note: angulartics.pageTrack works incorrect (but by docs should work fine, have no idea why doesn't work)
gtag('event', 'page_view', { page_path: urlAfterRedirects });
}
});
}
}https://stackoverflow.com/questions/60667522
复制相似问题