挂接特定JS文件的Javascript Onload

挂接特定JS文件的Javascript Onload,javascript,asynchronous,google-analytics,shopify,onload,Javascript,Asynchronous,Google Analytics,Shopify,Onload,经过大量的故障排除,我发现我的ga()命令失败了,因为它们是在我的Shopify商店中加载Google Analytics之前运行的。我发现了一个示例代码片段,它可能会延迟命令直到GA加载,但它使用的是我的站点没有使用的JQuery <script> $(window).ready(function() { $('head script[async][src*="analytics"]').on('load', function() { ga('set', '

经过大量的故障排除,我发现我的
ga()
命令失败了,因为它们是在我的Shopify商店中加载Google Analytics之前运行的。我发现了一个示例代码片段,它可能会延迟命令直到GA加载,但它使用的是我的站点没有使用的JQuery

<script>
  $(window).ready(function() {
    $('head script[async][src*="analytics"]').on('load', function() {
      ga('set', 'dimension1', 'insert_value');
      ga('set', 'dimension2', 'insert_value');
      ga('set', 'dimension3', 'insert_value');
    });
  });
</script>

$(窗口).ready(函数(){
$('headscript[async][src*=“analytics”]')。在('load',function()上{
ga(‘设置’、‘尺寸1’、‘插入_值’);
ga(‘设置’、‘尺寸2’、‘插入_值’);
ga(‘设置’、‘尺寸3’、‘插入_值’);
});
});

我正在研究如何将其转换为纯Javascript,我想我可能可以使用addEventListener()来等待它加载,但不是正面加载。应该使用哪些函数来连接到另一个Javascript文件的加载?

您的思路是正确的,我想您的事件似乎没有被触发,因为加载顺序有一些问题(即,在注册处理程序之前触发的事件)。以下内容应涵盖该情况。唯一的要求是在触发
DOMContentLoaded
之前插入脚本标记本身

document.addEventListener(“DOMContentLoaded”,function()){
常量加载=函数(){
log(“脚本加载”);
}
如果(ga!==未定义){
加载()
}否则{
document.querySelector('script[async][src*=“analytics”]”)。addEventListener(“load”,loaded);
}
});

您的思路是正确的,我想您的事件似乎没有触发,因为加载顺序有一些问题(即,在注册处理程序之前触发的事件)。以下内容应涵盖该情况。唯一的要求是在触发
DOMContentLoaded
之前插入脚本标记本身

document.addEventListener(“DOMContentLoaded”,function()){
常量加载=函数(){
log(“脚本加载”);
}
如果(ga!==未定义){
加载()
}否则{
document.querySelector('script[async][src*=“analytics”]”)。addEventListener(“load”,loaded);
}
});