in ArticleTemplates/assets/js/bootstraps/common.js [330:366]
function listenForEmailEmbedIFrameResize() {
const allowedOrigins = ['https://www.theguardian.com'];
const allIframes = [].slice.call(
document.querySelectorAll('.email-sub__iframe')
);
window.addEventListener('message', (event) => {
if (!allowedOrigins.includes(event.origin)) return;
const iframes = allIframes.filter((i) => {
try {
if (i.contentWindow && event.source) return i.contentWindow === event.source;
} catch (e) {
return false;
}
return false;
});
if (iframes.length !== 0) {
try {
const message = JSON.parse(event.data);
switch (message.type) {
case 'set-height': {
const value = parseInt(message.value);
if (!Number.isInteger(value)) return;
iframes.forEach((iframe) => {
iframe.height = `${value}`;
});
break;
}
default:
}
// eslint-disable-next-line no-empty
} catch (e) {}
}
});
}