32 lines
		
	
	
		
			784 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			784 B
		
	
	
	
		
			JavaScript
		
	
	
	
| /*
 | |
|  * SPDX-FileCopyrightText: syuilo and misskey-project
 | |
|  * SPDX-License-Identifier: MIT
 | |
|  */
 | |
| //@ts-check
 | |
| (() => {
 | |
| 	/** @type {NodeListOf<HTMLIFrameElement>} */
 | |
| 	const els = document.querySelectorAll('iframe[data-misskey-embed-id]');
 | |
| 
 | |
| 	window.addEventListener('message', function (event) {
 | |
| 		els.forEach((el) => {
 | |
| 			if (event.source !== el.contentWindow) {
 | |
| 				return;
 | |
| 			}
 | |
| 
 | |
| 			const id = el.dataset.misskeyEmbedId;
 | |
| 
 | |
| 			if (event.data.type === 'misskey:embed:ready') {
 | |
| 				el.contentWindow?.postMessage({
 | |
| 					type: 'misskey:embedParent:registerIframeId',
 | |
| 					payload: {
 | |
| 						iframeId: id,
 | |
| 					}
 | |
| 				}, '*');
 | |
| 			}
 | |
| 			if (event.data.type === 'misskey:embed:changeHeight' && event.data.iframeId === id) {
 | |
| 				el.style.height = event.data.payload.height + 'px';
 | |
| 			}
 | |
| 		});
 | |
| 	});
 | |
| })();
 |