Wzhik
@Wzhik
fullstack-разработчик

Как найти объявленый объект в JS?

К сайту подключается код метрики, не секрет, что имя объекта метрики после создания имеет вид yaCounterXXXXXXX. Вопрос в том как получить доступ к объекту метрики, не зная полного имени объекта. Может быть есть какие-то способы перебора всех объявленных глобальных объектов?
  • Вопрос задан
  • 250 просмотров
Решения вопроса 1
keslo
@keslo
var counterId = document.body.innerHTML.match(/yaCounter[0-9]{1,}/)[0]
var objMetrika = window[counter];
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@dexes56
Back-end engineer
Ищите в window. Так же при подключении метрики в window появляется поле "Ya".

for (var key in window) {
    if (key.match(/^yaCounter\d+$/)) {
        console.log(key);
    }
}
Ответ написан
Комментировать
kalyukdo
@kalyukdo
Frontend developer
Object.keys(window).forEach(function(key){

if ( key.match(/^yaCounter\d+$/) ) {
console.log( key, window[key]);
}

})
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы