reactjs - 从 GTM 脚本中减少未使用的 JavaScript
问题描述
如Google Tag Manager docs<head>
中所述,我在Next.js 网站的标签中包含 GTM JavaScript,如下所示:
// pages/_app.js
return (
<>
<Head>
<script dangerouslySetInnerHTML={{ __html: `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-xxxxxx');` }}></script>
</Head>
...
这样做会在 Google PageSpeed Insights 上发出警告:
有什么建议吗?
解决方案
使用 wp Rocket 可以解决渲染阻塞问题。因为它有这个选项来消除这些阻塞。
推荐阅读
- python - 如何将数据框转换为以下格式的嵌套字典
- asp.net-mvc - 如何使用 mvc 中的下拉列表过滤数据
- docker - 如何读取 dockerfile 中的当前 docker 标签?
- python - 如何使用自己的数据在 PyTorch 上测试这个卷积神经网络?
- assembly - MIPS如何方便地处理MULT(32位)操作数后的64位二进制?
- python - Pandas DataFrame:在列中满足条件后删除行
- python - Python 包装类的最佳方法是什么,以便其所有方法执行都遵循指定的方法?
- angular - 升级到 Angular 10 后 rxjs 和 loadash CommonJS 或 AMD 依赖项优化警告
- javascript - 如何在电子中启用同步管理器?
- python - 如何在 smb 连接中使用 utf-8 作为密码?