通过 JavaScript 动态注入 Google 分析代码
Dynamically injecting Google analytics code via JavaScript
我正在尝试将 Google 分析代码动态注入我的 dom。我的代码看起来像这样
(function () {
const head = document.getElementsByTagName("head")[0];
var myScript = document.createElement('script');
myScript.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=UA-1234567-6');
head.insertBefore(myScript, head.children[1]);
})();
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-1234567-6');
我可以看到 https://www.googletagmanager.com/gtag/js?id=UA-1234567-6
已添加到我的 DOM。但是它下面的代码(以 window.dataLayer
开头)没有被执行。我该如何解决这个问题?
尝试使用 onload
事件
(function() {
const head = document.getElementsByTagName("head")[0];
var myScript = document.createElement('script');
myScript.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=UA-1234567-6');
myScript.onload = function() {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
console.log('window.dataLayer Executed', window.dataLayer)
gtag('config', 'UA-1234567-6');
}
head.insertBefore(myScript, head.children[1]);
})();
我正在尝试将 Google 分析代码动态注入我的 dom。我的代码看起来像这样
(function () {
const head = document.getElementsByTagName("head")[0];
var myScript = document.createElement('script');
myScript.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=UA-1234567-6');
head.insertBefore(myScript, head.children[1]);
})();
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-1234567-6');
我可以看到 https://www.googletagmanager.com/gtag/js?id=UA-1234567-6
已添加到我的 DOM。但是它下面的代码(以 window.dataLayer
开头)没有被执行。我该如何解决这个问题?
尝试使用 onload
事件
(function() {
const head = document.getElementsByTagName("head")[0];
var myScript = document.createElement('script');
myScript.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=UA-1234567-6');
myScript.onload = function() {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
console.log('window.dataLayer Executed', window.dataLayer)
gtag('config', 'UA-1234567-6');
}
head.insertBefore(myScript, head.children[1]);
})();