'use strict'; const heightLimit = window.outerHeight * 2; let height = getCurrentHeight(); setupResizeListener(); /// function setupResizeListener() { const resizeObserver = new ResizeObserver(handleHeightChange); resizeObserver.observe(document.body); } function handleHeightChange(entries) { const updatedHeight = getCurrentHeight(); if (height === updatedHeight || updatedHeight > heightLimit) { return; } const RESIZE_CODE = 'resize:'; window.parent.postMessage(RESIZE_CODE + JSON.stringify({height}), '*'); height = updatedHeight; } function getCurrentHeight() { return document.querySelector('body > main').scrollHeight; }