簡體   English   中英

JavaScript:在我的腳本准備好之前阻止執行 GoogleAnalytics 腳本

[英]JavaScript: Prevent GoogleAnalytics script from being executed until my script is ready

我懂了:

    this.$resource('api/elements/item').get().then(function (result) {
        // do something cool

    }); 

這工作正常。

但是現在,我想阻止另一個腳本(谷歌分析標簽)在這個腳本准備好之前被執行。

這是谷歌分析標簽的一個例子:

    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-5xxxxxx-5"</script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-5xxxxxx-5');
    </script>
</body>

那么是否可以讓谷歌腳本等待我的腳本?

准備好后調用 gtag...

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-5xxxxxx-5"</script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    //gtag('config', 'UA-5xxxxxx-5'); <-- REMOVE THIS LINE
  </script>




this.$resource('api/elements/item').get().then(function (result) {
        // do something cool
        gtag('config', 'UA-5xxxxxx-5'); <-- CALL GTAG HERE
    }); 

我已經從對我有用的東西中改編了這個。 我看不出有什么理由不適合你。

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-5xxxxxx-5">
</script>
<script>
window.dataLayer=window.dataLayer||[];
function gtag()
{
 dataLayer.push(arguments);
}
gtag('js',new Date());
this.$resource('api/elements/item').get().then(function(result)
{
 //do something awesome
 gtag('config','UA-5xxxxxx-5');
});
</script>

您只是在尋找一種動態添加腳本標簽的方法嗎? 如果是這樣,這應該可以解決問題:

this.$resource('api/elements/item').get().then(function(result) {

   // Add script tag to document
   var script = document.createElement('script');
   script.src = 'https://www.googletagmanager.com/gtag/js?id=UA-5xxxxxx-5';
   document.body.appendChild(script);

   window.dataLayer = window.dataLayer || [];

   function gtag() {
     dataLayer.push(arguments);
   }
   gtag('js', new Date());

   gtag('config', 'UA-5xxxxxx-5');
}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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