Работаю над небольшой аналитической программой (на JavaScript'e) и сталкнулся со следующей проблемой: у сайта есть невидимые элементы, которые в какой то момент становятся видимыми. К примеру как тут:
https://www.wildearth.com.au/ вверху меню, при наведении мышки, появляется саб-меню. Нужно каким то образом обнаруживать когда ссылки внутри саб-меню видимы для пользователся. Саб-меню отображается методами CSS при :hover над элементом в главном меню. Структура сайта изначально неизвестна, так что повесить хендлеры на нужные элементы не получится, решение должно работать для любого сайта.
Что уже пробовал/знаю:
1) Если у ссылки внутри саб-меню проверить CSS свойство через
window.getComputedStyle(element).display
, то выдает, что элемент видим. Только нулевые значения в
element.getBoundingClientRect()
выдают, что элемент сейчас невидим
2) Думал что
MutationObserver
поможет, но оказалось, что в данном случае изменения DOM нету, так что обсервер не срабатывает.
Какие еще могут быть решения?