Получить код GTM из базы данных и отобразить в приложении angularJS

0

У меня есть несколько веб-сайтов, которые используют приложение AngularJS. На каждом веб-сайте есть другое отслеживание GTM. Я сохраняю код отслеживания в нашей базе данных. Например:

<!-- 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
    Пожалуйста, опубликуйте больше кода ... Как назначить переменную отслеживания? Где ваше нг-приложение, нг-контроллер? Что ты делаешь в контроллере? Диспетчер тегов Google находится вне области действия контроллера. Как получить код?
Теги:

2 ответа

0
Лучший ответ

Похоже, что решение заключается в использовании услуги $ sce. Пример здесь: http://erikaugust.com/thoughts/ng-bind-html/

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, я вижу DIV ng-bind-html, но код скрипта не внутри. Я даже попытался с простым <script> var a = '123'; </ script>, и это тоже не появляется.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню