簡體   English   中英

谷歌標簽管理器和 $ (JQuery) 未定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM