You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
657 B
27 lines
657 B
'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;
|
|
}
|
|
|