0

我一直在使用AngularJS,它的结构是这样的,当用户浏览网站时,只有视图和路由发生变化,并且没有触发页面浏览量等(GTM 不是每条路由加载的)。

因此,在使用 AngularJS 网站时,我在 Google 分析中遇到了很多问题(甚至Angulartics也不太乐观)。

现在我正在阅读ReactJS,我非常热衷于将它与Laravel一起使用。我只担心 React 的整个虚拟 DOM 概念之后确实会产生类似的跟踪痛苦,因为这意味着每次用户登陆页面时可能不会加载 Google Tag Manager 容器。

有人在跟踪 React 应用程序时遇到问题吗?

4

1 回答 1

1

您将 React 挂载到给定的 DOM 元素,然后该元素成为挂载根元素。只有这些元素会被更改,这意味着如果你有脚本标签等,而不是在 react 中,这些不会受到影响

<html>
  <head>
    <script src="/gtm.js"></script>
    <script src="/react.js"></script>
  </head>
  <body>
    <div id="mount">
    </div>
    <script>
      class Test extends React.Component {
        track() {
          window.dataLayer.push({
            event: 'Stuff'
          });
        }

        render() {
          return <button onClick={this.track} />;
        }
      }
      React.render(<Test />, document.getElementById('mount'))
    </script>
</html>

在那个 React 只能修改里面的内容#mount,因此 gtm 标签应该总是存在的。

于 2016-05-30T09:56:52.670 回答