From 4691180009526f1758ae0ae56cd7510eaa38ca94 Mon Sep 17 00:00:00 2001 From: thechaoscoder Date: Sun, 26 Jul 2026 00:04:42 +0200 Subject: [PATCH] Preserve DOCTYPE in email preview iframe (fixes #5) DOMParser drops DOCTYPE which forces browsers into "quirks mode" --- resources/js/components/EmailPreview.vue | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/resources/js/components/EmailPreview.vue b/resources/js/components/EmailPreview.vue index 2de973d..027bf33 100644 --- a/resources/js/components/EmailPreview.vue +++ b/resources/js/components/EmailPreview.vue @@ -100,17 +100,14 @@ const updateIframe = (): void => { if (iframeRef.value && props.email.body_html) { const iframeDoc = iframeRef.value.contentDocument || iframeRef.value.contentWindow?.document; if (iframeDoc) { - const parser = new DOMParser(); - const emailDoc = parser.parseFromString(props.email.body_html, 'text/html'); + iframeDoc.open(); + iframeDoc.write(props.email.body_html); + iframeDoc.close(); - emailDoc.querySelectorAll('a').forEach((link) => { + iframeDoc.querySelectorAll('a').forEach((link) => { link.setAttribute('target', '_blank'); link.setAttribute('rel', 'noopener noreferrer'); }); - - iframeDoc.open(); - iframeDoc.write(emailDoc.documentElement.outerHTML); - iframeDoc.close(); } } });