function getMpuPos()

in ArticleTemplates/assets/js/modules/ads.js [137:162]


function getMpuPos(formatter) {
    const advertSlots = document.getElementsByClassName('advert-slot__wrapper');
    const scrollLeft = document.scrollingElement ? document.scrollingElement.scrollLeft : document.body.scrollLeft;
    const scrollTop = document.scrollingElement ? document.scrollingElement.scrollTop : document.body.scrollTop;
    const params = [];
    let advertPosition;

    if (advertSlots.length) {
        for (let i = 0; i < advertSlots.length; i++) {
            advertPosition = advertSlots[i].getBoundingClientRect();

            if (advertPosition.width !== 0 && advertPosition.height !== 0) {
                params.push({
                    x: advertPosition.left + scrollLeft,
                    y: advertPosition.top + scrollTop,
                    width: advertPosition.width,
                    height: advertPosition.height
                })
            }
        }

        return formatter ? formatter(params) : params;
    }

    return null;
}