in ArticleTemplates/assets/js/modules/ads.js [26:51]
function insertAdPlaceholders(mpuAfterParagraphs, amountOfMpu) {
for (let i = 1; numberOfMpus < amountOfMpu; i=i+2) {
const mpu = createMpu(i);
const nrParagraph = (parseInt(mpuAfterParagraphs * i, 10) || 6 * i) - 1;
const placeholder = document.createElement('div');
const placeholderSibling = document.querySelector('.article__body > div.prose > :first-child');
const mpuSibling = document.querySelector(`.article__body > div.prose > p:nth-of-type(${nrParagraph}) ~ p + p`);
if (!(mpuSibling && mpuSibling.parentNode)) {
// Not enough paragraphs on page to add advert
break;
}
mpuSibling.parentNode.insertBefore(mpu, mpuSibling);
placeholder.classList.add('advert-slot');
// To mimic the correct positioning on full width tablet view, we will need an
// empty div to pad out the text so we can position absolutely over it.
if (placeholderSibling && placeholderSibling.parentNode) {
placeholderSibling.parentNode.insertBefore(placeholder, placeholderSibling);
}
numberOfMpus++;
}
adsReady = true;
}