我正在将我的网站转移到 GoogleAnalytics 4,我需要将以下脚本添加到页面中。如果单击接受 cookies 按钮,我将使用 JS 将其添加到头部。
Google 给我的 HTML
<script>(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', {GA-ID});</script>
我创建了一个脚本标签,并尝试在脚本标签之间插入函数,但这不起作用,我应该/可以在脚本标签之间添加函数的不同方式吗?
const gtagManager = document.createElement('script')
gtagManager.onload = () => {
(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', {GA-ID})
}
document.head.appendChild(gtagManager)
<script>
(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;
j.onload = function(){ // execute your code here }
f.parentNode.insertBefore(j, f);
})(window, document, "script", "dataLayer", "G-123456789");
</script>
我曾经在脚本中插入onload函数。您可以自行尝试是否有效。