【发布时间】:2021-06-03 04:02:32
【问题描述】:
我正在创建一个模板应用程序,用户可以在其中在 textarea 中编写任何 HTML/CSS 代码(例如,粘贴在 textarea 上的完整 html 页面)。这些用户大多熟悉 html 和 css,所以我们还没有实现 markdown。我们想要添加的一项重要功能是能够在提交之前在 textarea 中预览 html。我已经想到了可以做到这些的方法,但我不确定哪种方法是正确的和最可维护的。
- 在同一页面的 div 中预览 html - 我在这里看到的问题是现有的 CSS 样式可能会干扰用户在 textarea 中键入的 CSS 样式。此外,如果用户在textarea中写入body标签,实际页面的现有body标签内还会有另一个body标签,因此html可能会出现格式错误。
- 在单独的窗口中预览 html - 问题是我对此没有太多控制权(例如,如果用户使用弹出窗口阻止程序)
- 在单独的选项卡上预览 html - 问题是用户可能会感到困惑(例如,关闭整个浏览器,以为它会在新窗口中打开)
- 在 iframe 上预览 html - 这是可行的,但需要我创建一个额外的 .html 文件来进行预览
- 在模态框上预览 html - 这是可行的,但我不确定模态框是否会接受标题或正文等顶级标签
谁能帮帮我?这些潜在的解决方案中哪一个是最好的?还是有更好的解决方案?
【问题讨论】:
-
我会推荐使用 ui-dialog.css。使用 Bootstrap 的模态对话框也是一种选择。这样的对话框弹出是用户友好的,用户不会失去对流程的跟踪,并且焦点保持在同一个窗口中。所有标签都可以在 ui-dialog 以及模态弹出窗口中使用。我曾经尝试过 modal,目前正在使用 ui-dialog。