@troyqa

Как обратиться к переменной внутри установочного скрипта GTM javascript?

Доброго времени суток.

Есть стандартный скрипт от GTM (Google Tag Machine), который помещается в head сайта, выглядит он следующим образом:
<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='https://www.googletagmanager.com/gtm.js?id='+i+dl;
			f.parentNode.insertBefore(j,f);
		})
		(window,document,'script','dataLayer','EN-4912584-1');
</script>


Я разрабатываю иной скрипт, в который мне необходимо вытянуть данные из аргумента i , то есть это:EN-4912584-1

Пытался реализовать как-то с помощью:
document.querySelector

Но все тщетно, не знаю к чему привязаться.

Ах да, в самом head более 20 разных скриптов.

Так вот, как это можно реализовать, используя лишь чистый js?
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
hzzzzl
@hzzzzl
так просто вытащить не получится, но можно попробовать распарсить строки,
попробуй - таким образом выдаст в консоль текст скрипта?

[...document.querySelectorAll('script')]
  .filter(s => s.textContent.includes(`'dataLayer`))
  .map(s => s.textContent)[0]


или же посмотри тут
[...document.querySelectorAll('script')].map(s => s.src).filter(Boolean)

не будет ли скрипта похожего на https://www.googletagmanager.com/gtm.js?id=с нужным айдишником?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 сент. 2020, в 17:57
900 руб./за проект
19 сент. 2020, в 17:42
500 руб./за проект
19 сент. 2020, в 17:27
500 руб./за проект