我正在尝试显示 HTML 电子邮件的“预览”。我的数据库中有 HTML,现在我需要在 iframe 或弹出窗口或其他东西中呈现它。我试图将 html 注入(inject)页面上的 div 标记,但它不会显示任何内容。这是我遇到的问题(我有嵌套的 HTML 标签):
<html>
<body>
<h1>My page</h1>
<div id="email-body">
<html>
<body>
<p>email</p>
</body>
</html>
</div>
</body>
</html>
最佳答案
您可以将 HTML 写入弹出窗口。
var preview = window.open("", /* options */);
preview.document.write(html);
preview.document.close();
但是像我一样,很多人不喜欢弹出窗口。另一个考虑是只显示 <body>
内容。更好的是,大多数邮件客户端都支持它。内容类型为 text/html
,您可以发送 HTML 邮件,就好像它是 HTML 的一部分 <body>
.
<p>email</p>
通过这种方式,您可以像往常一样将它注入(inject)到主页的某个 div 中进行预览。
如果你喜欢样式元素,但不喜欢内联样式,你也可以添加 <style>
元素。大多数邮件客户端也只支持它。
<style>p { font-family: arial, sans-serif; }</style>
<p>email</p>
从 HTML 纯粹主义者的角度来看,这在语法上确实是无效的。但它有效(也在网络浏览器中!)并且大大简化了这些事情。
关于php - 如何在网页上显示用于预览的 HTML 电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2473596/