Nuxt добавляет GTM (noscript) в тег тела на каждой странице / маршруте

#vue.js #nuxt.js #google-tag-manager

Вопрос:

Я пытаюсь реализовать менеджер тегов Google в приложении Nuxt и застрял в том, как добавить тег noscript в приложение на каждой странице / маршруте внутри открывающего тега тела. Я попытался создать статический скрипт и добавить файл через конфигурацию nuxt:

 { src: "/scripts/gtm.js", body: true }  

который добавил файл в тело, но выдавал ошибки из-за тега noscript и вложенного iframe из gtm. Не уверен, что есть лучший способ внедрить реальный скрипт непосредственно в тело

 lt;!-- Google Tag Manager (noscript) --gt; lt;noscriptgt;lt;iframe src="https://www.googletagmanager.com/ns.html?id=GT M-4BXKY65" height="0" width="0" style="display:none;visibility:hidden"gt;lt;/iframegt;lt;/n oscriptgt; lt;!-- End Google Tag Manager (noscript) --gt;  

Комментарии:

1. Действительно ли имеет смысл добавлять тег noscript на страницу на основе javascript?

Ответ №1:

@Eike здесь прав. Noscript совершенно бесполезен в 99,99% случаев. Он используется, когда у пользователя отключен JS, но, в отличие от того, что вы думаете, он не заставит GTM работать без JS. На самом деле, только один тег будет «срабатывать» в этом состоянии, и это будет редко используемый пользовательский тег изображения.

Да, noscript подразумевает iframe, и если ваше приложение их не поддерживает, что ж, тогда для вас нет noscript. На самом деле, Nuxt-это интерфейсная платформа рендеринга. Зачем вам что-то еще, кроме просьбы пользователя включить JS для просмотра сайта?..

Комментарии:

1. Я понимаю, спасибо вам за вклад. Я мало что знаю о GTM (впервые внедряю). Поставщик присылает мне этот скрипт и говорит, пожалуйста, размещайте это на каждой странице после тега тела. Вот почему я задал этот вопрос 🙂