This commit is contained in:
kakkokari-gtyih 2024-06-25 21:08:58 +09:00
parent 3bd055b045
commit b5fe3e894b

View file

@ -197,6 +197,7 @@ function iframeOnLoad() {
}); });
}); });
} }
function windowEventHandler(event: MessageEvent) { function windowEventHandler(event: MessageEvent) {
if (event.source !== iframeEl.value?.contentWindow) { if (event.source !== iframeEl.value?.contentWindow) {
return; return;
@ -217,6 +218,7 @@ function windowEventHandler(event: MessageEvent) {
}); });
} }
} }
function calcScale() { function calcScale() {
if (!resizerRootEl.value) return; if (!resizerRootEl.value) return;
const previewWidth = resizerRootEl.value.clientWidth - 40; // 20px const previewWidth = resizerRootEl.value.clientWidth - 40; // 20px
@ -225,15 +227,18 @@ function calcScale() {
const scale = Math.min(previewWidth / iframeWidth, previewHeight / iframeHeight.value, 1); // const scale = Math.min(previewWidth / iframeWidth, previewHeight / iframeHeight.value, 1); //
iframeScale.value = scale; iframeScale.value = scale;
} }
onMounted(() => { onMounted(() => {
window.addEventListener('message', windowEventHandler); window.addEventListener('message', windowEventHandler);
if (!resizerRootEl.value) return; if (!resizerRootEl.value) return;
resizeObserver.observe(resizerRootEl.value); resizeObserver.observe(resizerRootEl.value);
}); });
onDeactivated(() => { onDeactivated(() => {
window.removeEventListener('message', windowEventHandler); window.removeEventListener('message', windowEventHandler);
resizeObserver.disconnect(); resizeObserver.disconnect();
}); });
onUnmounted(() => { onUnmounted(() => {
window.removeEventListener('message', windowEventHandler); window.removeEventListener('message', windowEventHandler);
resizeObserver.disconnect(); resizeObserver.disconnect();