1 changed files with 16 additions and 6 deletions
@ -1,16 +1,26 @@ |
|||
'use strict'; |
|||
|
|||
let height = getCurrentHeight(); |
|||
setupResizeListener(); |
|||
|
|||
///
|
|||
|
|||
function setupResizeListener() { |
|||
const RESIZE_CODE = 'resize:'; |
|||
const resizeObserver = new ResizeObserver((entries) => setTimeout(handleHeightChange, 100)); |
|||
resizeObserver.observe(document.body); |
|||
} |
|||
|
|||
function handleHeightChange(entries) { |
|||
const updatedHeight = getCurrentHeight(); |
|||
if (height === updatedHeight) { |
|||
return; |
|||
} |
|||
|
|||
const resizeObserver = new ResizeObserver(entries => { |
|||
const height = document.querySelector('body > main').scrollHeight; |
|||
const RESIZE_CODE = 'resize:'; |
|||
window.parent.postMessage(RESIZE_CODE + JSON.stringify({height}), '*'); |
|||
}) |
|||
height = updatedHeight; |
|||
} |
|||
|
|||
resizeObserver.observe(document.body); |
|||
function getCurrentHeight() { |
|||
return document.querySelector('body > main').scrollHeight; |
|||
} |
|||
|
|||
Loading…
Reference in new issue