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

标签 javascript angular server-side-rendering

因此,我正在尝试将我们的网站从静态 SPA 迁移到 Angular 通用渲染服务器端,但我在使用 Google Analytics(分析)时遇到了问题。

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

我尝试过:

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

让它仅在 ga 初始化时运行(它应该在客户端上,而不是在服务器上),但我收到 undefined object 错误(ReferenceError: ga is not Defined - on the if (ga) line ),未定义的地方应该是一个假值。

所以我尝试搜索如何仅在客户端运行代码,我发现了 isBrowser,但那是来自 angular2-universal,并且我在平台服务器或平台浏览器中找不到类似的内容...

谢谢!

最佳答案

因此检查窗口类型是否未定义就可以了。我可能会将其抽象为一项服务,但这让我度过了 POC 的第一个难关。

if ( typeof window != 'undefined' )

关于javascript - Angular 4 Universal - Google Analytics/仅客户端代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45963143/

相关文章:

javascript - 在 rollup/buble 中定义浏览器全局

javascript - 如何在 ionic2 中的 pop() 之后重新加载 ionic 页面

javascript - console.log消息下面打印的数字是什么意思?

html - 禁用在textarea中键入

html - 是否有一种 HTML/Bootstrap 方法可以根据响应菜单的切换状态在导航栏中设置元素顺序?

Angular 通用 : How to create an app shell and only pre-render the shell?

javascript - 警告 Prop `href` 不匹配。使用 React 服务器端渲染

javascript - 在启用表单提交之前强制用户填写所有字段

javascript - 检查/访问 QML 中动态创建的对象

javascript - 如何在 Angular 中按服务器分组