Angular 4 Universal - Google Analytics /仅客户端代码

时间:2017-08-30 14:30:05

标签: javascript angular serverside-rendering

因此,我尝试将我们的网站从静态SPA迁移到Angular Universal Rendered Server Side,并且我遇到了Google Analytics问题。

在我的SPA中,我通过html脚本在index.html中定义了GA,但是使用服务器端渲染这显然没有意义。

我试图:

if(ga) {
   ga.create(...);
}

只有在ga初始化时才能运行(它应该在客户端但不在服务器上),但我得到一个未定义的对象错误(ReferenceError:ga未定义 - 在if(ga)行上),未定义的应该是假值。

所以我试图搜索如何只运行代码客户端,我发现isBrowser,但是这是来自angular2-universal,我在平台服务器或平台浏览器中找不到类似的东西。 ...

谢谢!

1 个答案:

答案 0 :(得分:1)

因此检查窗口类型是否未定义。我可能会把它抽象出来用于服务,但是这让我超越了POC的第一个驼峰。

this.$el.html(this.template({
    output: output,
    testFunction: this.testFunction.bind(this)
}));