();
+
+ useEffect(() => {
+ if (language !== "html") {
+ setHtmlPreviewUrl(undefined);
+ return;
+ }
+
+ const blob = new Blob([content ?? ""], { type: "text/html" });
+ const url = URL.createObjectURL(blob);
+ setHtmlPreviewUrl(url);
+
+ return () => {
+ URL.revokeObjectURL(url);
+ };
+ }, [content, language]);
+
if (language === "markdown") {
return (
@@ -302,7 +318,7 @@ export function ArtifactFilePreview({
className="size-full"
title="Artifact preview"
sandbox="allow-scripts allow-forms"
- {...(isWriteFile ? { srcDoc: content } : url ? { src: url } : {})}
+ src={htmlPreviewUrl}
/>
);
}
diff --git a/pr-build/issue1955-after.png b/pr-build/issue1955-after.png
new file mode 100644
index 000000000..badc3e93d
Binary files /dev/null and b/pr-build/issue1955-after.png differ
diff --git a/pr-build/issue1955-before.png b/pr-build/issue1955-before.png
new file mode 100644
index 000000000..498940422
Binary files /dev/null and b/pr-build/issue1955-before.png differ