我正在尝试在当前html页面之外的客户端中生成一封电子邮件(更确切地说,是在页面内部创建一个名为“ inc”的div)。
我陷入了我拥有此代码的第一步:

function emailCurrentPage() {
var htmlData = document.getElementById('inc').innerHTML;
window.location.href = "mailto:?subject=" + document.title + "&body=" + htmlData;}

<a href="javascript:emailCurrentPage()">Mail this page!</a>


当我按下链接时,什么都没有发生,在调试时,我可以在“ htmlData”变量中看到html代码。此外,当我将第三行中的“ htmlData”更改为诸如“ bla bla”甚至“”之类的某些文本时,电子邮件将正常打开。

mailto不能与htmlData一起使用的原因可能是什么?

还有一个小问题..您认为我在发送html页面的正确方法上吗?因为我恐怕以后无法将html代码转换为电子邮件中的html页面。

最佳答案

用href调用JS函数绝对不酷。您还需要格式化mailto:链接。



<button onclick="javascript:emailCurrentPage()">Mail this page!</button>


<script>
function emailCurrentPage() {
var htmlData = document.getElementById('inc').innerHTML;
window.location.href = 'mailto:?subject="' + document.title + '"&body=' + htmlData;}</script>


<main id="inc">
  Some text here
</main>

08-25 22:12