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