我正在编写预览功能,让用户预览他们上传的HTML文件并进行一些小编辑。 HTML文件不包含Javascript,也不包含外部CSS。所有CSS都在样式标记或内联中。另一方面,图像将永远是外部的,因为我们没有提供存储图像的空间。
iFrame不是一个好的解决方案,因为:
但是,如果我只是将内容插入<div>
重复的<html>
,则<head>
和<body>
标记会使页面崩溃。
那么,有没有一种方法可以在没有iFrame的情况下预览HTML?
答案 0 :(得分:0)
如果您不希望主应用程序影响预览的样式,则需要使用iframe。你看到iframe的内容窗口了吗? https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow。这可能是您正在寻找的答案。所以基本上你在这里尝试访问你的iframe的DOM。试一试!
preview = getYourIframeDom();
code = getYourHtmlCodeHere();
preview.contentWindow.document.open("text/html","replace");
preview.contentWindow.document.write(code);
preview.contentWindow.document.close();