[英]Google Tag Manager and $ (JQuery) undefined
我正在使用 Google 標簽管理器。 如果我按F12
並輸入jQuery
,則 jQuery 已定義並正常工作。 但是, $
不是。 標簽管理器似乎正在重新定義 $。
請問有什么想法嗎?
這是一個縮減示例。
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- Google Tag Manager -->
<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', 'GTM-ABCDEFG');
</script>
<!-- END OF Google Tag Manager script -->
<title></title>
</head>
<body>
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-ABCDEFG"></iframe></noscript>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
</body>
</html>
導入順序計數,因為腳本在<scrit>
元素加載后立即運行。
一種解決方案是將您的gtm
腳本從頭部移動到 Jquery 之后。
第二種解決方案是向gmt
腳本添加defer
屬性。 Defer 將強制腳本在開始執行之前等待頁面加載
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.