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