Javascript 动态更改标记src
动态更改src标记 我正在将谷歌分析集成到我的Angular应用程序中。它需要在脚本src和更高版本中添加google跟踪id。它需要先加载,然后再进行其他操作 虽然它对一个环境很好,但我希望对不同的环境有不同的ID 我正在尝试类似于:Javascript 动态更改标记src,javascript,google-analytics,Javascript,Google Analytics,动态更改src标记 我正在将谷歌分析集成到我的Angular应用程序中。它需要在脚本src和更高版本中添加google跟踪id。它需要先加载,然后再进行其他操作 虽然它对一个环境很好,但我希望对不同的环境有不同的ID 我正在尝试类似于: <script> var googleTrackingId; switch (window.location.hostname) { case 'mycompany.com': goog
<script>
var googleTrackingId;
switch (window.location.hostname) {
case 'mycompany.com':
googleTrackingId = 'UA-123123-3'; // production
break;
case 'staging.mycompany.com':
googleTrackingId = 'UA-123123-2'; // staging
break;
default:
googleTrackingId = 'UA-123123-1'; // localhost
}
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=${googleTrackingId}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', googleTrackingId);
</script>
但是src标记没有改变。您可以首先根据主机名找到所需的跟踪ID,然后创建标记
您可以首先根据主机名找到所需的跟踪ID,然后创建标记
使用Javascript,您可以通过ID获取元素,并向元素的src属性附加任何您想要的内容 编辑:加载脚本元素时,可以使用脚本的onload事件处理程序立即更改脚本元素: var analyticsScript=document.getElementById'analytics'; analyticsScript.onload=函数{ analyticsScript.src+='?id=3wrwerf45r3t36y645y4'; console.loganalyticsScript.src; }
使用Javascript,您可以通过ID获取元素,并向元素的src属性附加任何您想要的内容 编辑:加载脚本元素时,可以使用脚本的onload事件处理程序立即更改脚本元素: var analyticsScript=document.getElementById'analytics'; analyticsScript.onload=函数{ analyticsScript.src+='?id=3wrwerf45r3t36y645y4'; console.loganalyticsScript.src; }
<script>
var googleTrackingId;
switch (window.location.hostname) {
case 'mycompany.com':
googleTrackingId = 'UA-123123-3'; // production
break;
case 'staging.mycompany.com':
googleTrackingId = 'UA-123123-2'; // staging
break;
default:
googleTrackingId = 'UA-123123-1'; // localhost
}
document.write( '<scr' + 'ipt async src="https://www.googletagmanager.com/gtag/js?id=' + googleTrackingId + '"></scr' + 'ipt>' );
</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', googleTrackingId);
</script>