|
44 | 44 | }
|
45 | 45 | </style>
|
46 | 46 | <script>
|
47 |
| - function sendHeight() { |
48 |
| - const body = document.body; |
49 |
| - const html = document.documentElement; |
50 |
| - |
51 |
| - const height = Math.max( |
52 |
| - body.scrollHeight, |
53 |
| - body.offsetHeight, |
54 |
| - html.clientHeight, |
55 |
| - html.scrollHeight, |
56 |
| - html.offsetHeight |
57 |
| - ); |
58 |
| - |
59 |
| - parent.postMessage({ type: 'iframeHeight', height }, '*'); |
60 |
| - } |
| 47 | +function calculateBodyHeight() { |
| 48 | + const body = document.body; |
| 49 | + const html = document.documentElement; |
| 50 | + return Math.max( |
| 51 | + body.scrollHeight, |
| 52 | + body.offsetHeight, |
| 53 | + html.scrollHeight, |
| 54 | + html.offsetHeight, |
| 55 | + html.clientHeight |
| 56 | + ); |
| 57 | +} |
61 | 58 |
|
| 59 | +function sendHeight() { |
| 60 | + const height = calculateBodyHeight(); |
| 61 | + window.parent.postMessage({ type: 'iframeHeight', height }, '*'); |
| 62 | +} |
62 | 63 |
|
63 |
| - function repeatHeightCalculation(maxRetries = 10, interval = 100) { |
64 |
| - let retries = 0; |
65 |
| - const intervalId = setInterval(() => { |
66 |
| - sendHeight(); |
67 |
| - retries++; |
68 |
| - if (retries >= maxRetries) clearInterval(intervalId); |
69 |
| - }, interval); |
70 |
| - } |
| 64 | +function repeatHeightCalculation(maxRetries = 10, interval = 100) { |
| 65 | + let retries = 0; |
| 66 | + const intervalId = setInterval(() => { |
| 67 | + sendHeight(); |
| 68 | + retries++; |
| 69 | + if (retries >= maxRetries) clearInterval(intervalId); |
| 70 | + }, interval); |
| 71 | +} |
71 | 72 |
|
72 |
| - window.addEventListener('load', () => { |
73 |
| - repeatHeightCalculation(); |
| 73 | +window.addEventListener('load', () => { |
| 74 | + repeatHeightCalculation(); |
| 75 | + const observer = new MutationObserver(() => { |
| 76 | + setTimeout(sendHeight, 50); |
74 | 77 | });
|
75 |
| - |
76 |
| - |
77 |
| - const observer = new MutationObserver(() => repeatHeightCalculation(5, 50)); |
78 | 78 | observer.observe(document.body, {
|
79 | 79 | childList: true,
|
80 | 80 | subtree: true,
|
81 |
| - characterData: true, |
82 |
| - attributes: true |
| 81 | + characterData: true |
83 | 82 | });
|
| 83 | +}); |
84 | 84 |
|
85 |
| - window.addEventListener('resize', sendHeight); |
| 85 | +window.addEventListener('resize', sendHeight); |
86 | 86 | </script>
|
87 | 87 | </head>
|
88 | 88 | <body><p><code><code>columnGroup</code></code></p><p> <code>| </code><code><strong><code>[</code></strong></code><code><code>column</code></code><strong><code>,</code></strong><code> ..</code><code><strong><code>]</code></strong></code></p><p> <code>| </code><code><strong><code>[</code></strong></code><strong><code>{ </code></strong><code><code>condition</code></code><strong><code> }</code></strong><code><strong><code>]</code></strong></code></p><p> <code>| </code><code><strong><code>{</code></strong></code><code> </code><code><code>colsSelector</code></code><code> </code><code><strong><code>}</code></strong></code></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>allCols</code></strong></code><strong><code>()</code></strong></p><p> <code>| </code><strong><code>.allCols</code></strong><code>(</code><code><strong><code>Before</code></strong></code><code>|</code><code><strong><code>After</code></strong></code><code>|</code><code><strong><code>From</code></strong></code><code>|</code><code><strong><code>UpTo</code></strong></code><code>) ( </code><strong><code>(</code></strong><code><code>column</code></code><strong><code>)</code></strong><code> | </code><strong><code>{ </code></strong><code><code>colSelector</code></code><strong><code> }</code></strong><code> )</code></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>allColsExcept</code></strong></code><strong><code> { </code></strong><code><code>colsSelector</code></code><strong><code> } </code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>allColsExcept</code></strong></code><strong><code>(</code></strong><code><code>columnNoAccessor</code></code><strong><code>,</code></strong><code> ..</code><strong><code>)</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>and</code></strong></code><strong><code> (</code></strong><code>|</code><strong><code>{ </code></strong><code><code>columnOrSet</code></code><strong><code> }</code></strong><code>|</code><strong><code>)</code></strong></p><p> <code>| (</code><strong><code>.</code></strong><code><strong><code>col</code></strong></code><code>| </code><strong><code>.</code></strong><code><strong><code>valueCol</code></strong></code><code>| </code><strong><code>.</code></strong><code><strong><code>frameCol</code></strong></code><code>| </code><strong><code>.</code></strong><code><strong><code>colGroup</code></strong></code><code>)[</code><strong><code><</code></strong><code><code>T</code></code><strong><code>></code></strong><code>]</code><strong><code>(</code></strong><code><code>column</code></code><code> | </code><code><code>index</code></code><strong><code>)</code></strong></p><p> <code>| (</code><strong><code>.</code></strong><code><strong><code>cols</code></strong></code><code>| </code><strong><code>.</code></strong><code><strong><code>valueCols</code></strong></code><code>| </code><strong><code>.</code></strong><code><strong><code>frameCols</code></strong></code><code>| </code><strong><code>.</code></strong><code><strong><code>colGroups</code></strong></code><code>) [ </code><strong><code>{ </code></strong><code><code>condition</code></code><strong><code> }</code></strong><code> ]</code></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>cols</code></strong></code><code>[</code><strong><code><</code></strong><code><code>T</code></code><strong><code>></code></strong><code>]</code><strong><code>(</code></strong><code><code>column</code></code><strong><code>,</code></strong><code>.. |</code><code><code>index</code></code><strong><code>,</code></strong><code>.. |</code><code><code>indexRange</code></code><strong><code>)</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>colsAtAnyDepth</code></strong></code><code>()</code></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>colsInGroups</code></strong></code><code>()</code></p><p> <code>| </code><strong><code>.colsName</code></strong><code>(</code><code><strong><code>Starts</code></strong></code><code>|</code><code><strong><code>Ends</code></strong></code><code>)</code><strong><code>With</code></strong><strong><code>(</code></strong><code><code>text</code></code><code>[</code><strong><code>, </code></strong><code><code>ignoreCase</code></code><code>]</code><strong><code>)</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>colsNameContains</code></strong></code><strong><code>(</code></strong><code><code>text</code></code><code>[</code><strong><code>, </code></strong><code><code>ignoreCase</code></code><code>] | </code><code><code>regex</code></code><strong><code>)</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>colsOfKind</code></strong></code><strong><code>(</code></strong><code><code>kind</code></code><strong><code>,</code></strong><code> ..</code><strong><code>)</code></strong><code> [ </code><strong><code>{ </code></strong><code><code>condition</code></code><strong><code> }</code></strong><code> ]</code></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>colsWithoutNulls</code></strong></code><strong><code>()</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>drop</code></strong></code><code>(</code><code><strong><code>Last</code></strong></code><code>)</code><code><strong><code>Cols</code></strong></code><strong><code>(</code></strong><code><code>number</code></code><strong><code>)</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>drop</code></strong></code><code>(</code><code><strong><code>Last</code></strong></code><code>)</code><code><strong><code>ColsWhile</code></strong></code><strong><code> { </code></strong><code><code>condition</code></code><strong><code> }</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>except</code></strong></code><strong><code> { </code></strong><code><code>colsSelector</code></code><strong><code> } </code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>except</code></strong></code><strong><code>(</code></strong><code><code>columnNoAccessor</code></code><strong><code>,</code></strong><code> ..</code><strong><code>)</code></strong></p><p> <code>| (</code><strong><code>.</code></strong><code><strong><code>firstCol</code></strong></code><code>|</code><strong><code>.</code></strong><code><strong><code>lastCol</code></strong></code><code>) [ </code><strong><code>{ </code></strong><code><code>condition</code></code><strong><code> }</code></strong><code> ]</code></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>singleCol</code></strong></code><code>()</code></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>select</code></strong></code><strong><code> { </code></strong><code><code>colsSelector</code></code><strong><code> }</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>take</code></strong></code><code>(</code><code><strong><code>Last</code></strong></code><code>)</code><code><strong><code>Cols</code></strong></code><strong><code>(</code></strong><code><code>number</code></code><strong><code>)</code></strong></p><p> <code>| </code><strong><code>.</code></strong><code><strong><code>take</code></strong></code><code>(</code><code><strong><code>Last</code></strong></code><code>)</code><code><strong><code>ColsWhile</code></strong></code><strong><code> { </code></strong><code><code>condition</code></code><strong><code> }</code></strong></p><p> </p><p><code><code>singleColumn</code></code></p><p> <strong><code>.</code></strong><code><strong><code>colsOf</code></strong></code><strong><code><</code></strong><code><code>T</code></code><strong><code>></code></strong><code> [ </code><strong><code>(</code></strong><code><code>kType</code></code><strong><code>)</code></strong><code> ] [ </code><strong><code>{ </code></strong><code><code>condition</code></code><strong><code> }</code></strong><code> ]</code></p><p> </p><p><code><code>columnGroupReference</code></code></p><p> <strong><code>.</code></strong><code><strong><code>colsOf</code></strong></code><strong><code><</code></strong><code><code>T</code></code><strong><code>>(</code></strong><code><code>kType</code></code><strong><code>)</code></strong><code> [ </code><strong><code>{ </code></strong><code><code>condition</code></code><strong><code> }</code></strong><code> ]</code></p></body>
|
|
0 commit comments