我明白了:
this.$resource('api/elements/item').get().then(function (result) {
// do something cool
});
这很好。
但是现在,我想阻止另一个脚本(谷歌分析标签)被执行,直到这个脚本准备就绪。
这是google analytics代码的示例:
<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>
那么可以让google脚本等待我的脚本吗?
答案 0 :(得分:1)
准备好后调用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
});
答案 1 :(得分:0)
我从适合我的东西中改编了这个。 我也看不出有什么理由不适合你。
<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>
答案 2 :(得分:0)
您是否正在寻找动态添加脚本标记的方法?如果是这样,这应该可以解决问题:
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');
});