我目前有此代码,以尝试找到我需要的正确的跟踪器(在8-12个跟踪器中):
ga.getAll().forEach(function(tracker) {
if(tracker.get('trackingId') === "UA-62921111-4") {
除了获取每个跟踪器并对其进行遍历之外,还有一种简单的方法来执行类似ga.getTracker("UA-62921111-4")
的事情吗?
答案 0 :(得分:1)
analytics.js上没有ga.getAll
。它只有(function(){
trackers = {}
ga.getAll().forEach(function(tracker) {
trackers[tracker.get('trackingId')]=tracker;
});
ga.getTracker=function(id){
if(trackers[id])
return trackers[id];
};
})();
和ga.getTracker
。
供您参考,您可以检查一下。 https://developers.google.com/analytics/devguides/collection/analyticsjs/accessing-trackers
因此,为了满足您的需要,我编写了以下代码,应在加载analytics.js之后添加到您的文件中:
ga.getTracker("UA-62921111-4")
这基本上会一次获取所有跟踪器并将它们存储在一个对象中,并定义缺少的<div class="content-wrapper">
<div class="container-fluid">
<div id="content">
<h1>My First PDF</h1>
<p>Hello Welcome To Easy Lab Reservation System</p>
</div>
<button (click)="downloadPdf()" class="btn btn-info">Create Report</button>
</div>
。
所以现在您可以调用import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';
import * as JSPDF from 'jspdf';
@Component({
selector: 'app-report',
templateUrl: './report.component.html',
styleUrls: ['./report.component.css']
})
export class ReportComponent implements OnInit {
@ViewChild('content') content: ElementRef;
constructor() { }
ngOnInit() {
}
downloadPdf(){
const doc = new JSPDF();
let specialElementHandlers = {
'#editor' : function(elemnt, renderer){
return true;
}
};
let content = this.content.nativeElement;
doc.fromHTML(content.innerHtml,10,10,{
'width': 190,
'elementHandlers': specialElementHandlers
});
doc.save('MyFirst.pdf');
}
}
函数来获取跟踪器。
答案 1 :(得分:0)
我发现这是一个不错的选择:
var tracker = ga.getAll().filter(tracker => (tracker.get('trackingId') === 'UA-62925944-4'))[0]
但是请注意,如果您有多个跟踪器,则ga
在加载所需的跟踪器之前似乎已经准备就绪。我想从表单字段的跟踪器获取数据,所以我在提交时插入了这些字段,以确保所有内容都已加载。