4

我使用这块在我的 Next.js 应用程序中初始化 GTM:

const tagManagerArgs = {
  gtmId: "GTM-XXXXXX"
};
TagManager.initialize(tagManagerArgs);

但是当我尝试使用它启动应用程序时,我收到了错误:

ReferenceError: document is not defined
    at Object.dataScript (/Users/username/work/projectname/node_modules/react-gtm-module/dist/TagManager.js:11:18)

如何解决这个问题?

4

2 回答 2

5

用检查器包装 TagManager 初始化程序有助于:

if (process.browser) {
  TagManager.initialize(tagManagerArgs);
}
于 2020-03-17T20:14:21.810 回答
2

您可以在网站挂载后立即初始化 TagManager,以确保 DOM api 可用

useEffect(()=>{
    TagManager.initialize({gtmId: 'GTM-XXXXXX'})
},[])
于 2021-12-13T19:29:53.210 回答