2016-08-19 35 views
0

我有幾個使用AngularJS應用程序的網站。每個網站都有不同的GTM跟蹤。我將跟蹤代碼存儲在我們的數據庫中。例如:從數據庫中檢索GTM代碼並顯示在angularJS應用程序中

<!-- Google Tag Manager --> 
    <noscript> 
     <iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXX" 
       height="0" width="0" style="display:none;visibility:hidden"></iframe> 
    </noscript> 
    <script> 
(function (w, d, s, l, i) { 
w[l] = w[l] || []; w[l].push({ 
'gtm.start': 
     new Date().getTime(), event: 'gtm.js' 
}); var f = d.getElementsByTagName(s)[0], 
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 
'//www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 
})(window, document, 'script', 'dataLayer', 'GTM-XXXXX');</script> 
    <!-- End Google Tag Manager --> 

在我的角度的應用程序,我已經檢索了代碼,但我該如何去插入到我的HTML? 我試過了:

<div id="tracking"> 
    {{tracking}} 
</div> 

但是這會在屏幕上顯示代碼。

+0

請發佈更多代碼...您如何分配跟蹤變量? ng-app,ng-controller在哪裏?你在控制器中做什麼?谷歌標籤管理器超出了控制器範圍,您如何檢索代碼? – Silvinus

回答

0

這可能會幫助你

,而不是

<div id="tracking"> 
    {{tracking}} 
</div> 

你寫的

<div ng-bind-html="tracking"> 
</div> 

在腳本中你必須做

<script src="https://code.angularjs.org/1.4.9/angular.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-sanitize.js"></script> 

和模塊

在注入
var app = angular.module('myApp', ['ngSanitize']); 
+0

我剛剛通過將GTM代碼放入要測試的範圍變量來嘗試此操作。我沒有錯誤,但是當我檢查HTML時,我可以看到ng-bind-html DIV,但腳本代碼不在裏面。我甚至嘗試過簡單的,這也不會出現。 – user1024941

相關問題