А зачем это делать именно таким образом? dataLayer доступен в window , по умолчанию инициализируется как пустой массив обычно. Когда-то давно (ещё до появления реакта) часто писали так: (function (w, d) {(w[d]=w[d]||[]).push({ ... })})(window, 'dataLayer')
1. Никак 2. eval
Зачем? Ты можешь просто по клику вызвать функцию
++ только массив этот может существовать, а может не существовать - он скриптом google tag manager создается. выше написал, как обычно делали.
Юзал пуш в dataLayer как-то так: window.dataLayer = window.dataLayer || [] window.dataLayer.push({...})
Обсуждают сегодня