如何解决使用sitecoreBeascon.js在Angular单页应用程序中进行页面访问跟踪
我需要使用sitecore(Beacon.js)跟踪Angular单页应用程序中的所有页面访问 因此,我在inxex.html中添加了这一行,它仅记录一次页面访问,而不是每个组件访问。 有人可以帮我实现这一目标。谢谢...!
我认为我必须在AppComponent中编写一些代码,以便它可以捕获每个路由器事件更改...。但是不确定如何在此处调用beacon.js函数调用...。
解决方法
像这样在每个路由器路径上放置一个canActivateService。
{
path: "dialog",component: DialogComponent,canActivate: [canActivateService]
}
这是服务:
import { ActivatedRouteSnapshot,RouterStateSnapshot } from "@angular/router";
import { Injectable } from "@angular/core";
import { CanActivate } from "@angular/router";
import { RestangularService } from "./restangular.service";
import { EventService } from "./event.service";
@Injectable({
providedIn: "root"
})
export class canActivateService implements CanActivate {
constructor(private rs: RestangularService,private es: EventService) {}
// returns a true or false promise
canActivate(route: ActivatedRouteSnapshot,state: RouterStateSnapshot) {
// all inbound route information is contained in the two params above
// which can be logged,even asynchronously
// return true or false here.
}
}
请注意,还有大约五个其他“可挂接”事件。 canActivate只是其中之一。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。