带有JavaScript URL代码的电子邮件文本区域

Email Textarea with JavaScript URL Code

本文关键字:电子邮件 文本 区域 代码 JavaScript URL 带有      更新时间:2023-09-26

我正在用WebView构建一个应用程序。你真的不需要知道,但这就是我需要回答这个问题的原因,没有其他方法。

是否有将某种脚本与textarea对象放在同一个网页上,然后在URL中键入某种JavaScript代码后,它将打开默认的邮件程序,用户从textarea输入的文本作为消息的正文部分。

我知道这很困惑,但我把它读了好几遍。

(注意:当我说弹出默认邮件程序时,我的意思是类似于mailto的方法,当它在默认邮件应用程序中打开时)

假设textarea有一个id="ta1",您想在地址栏中键入以下内容吗:

javascript:location.href="mailto:a@b.com?body="+document.getElementById("ta1").value;

编辑:

点击按钮执行相同操作:

<input type="button" onclick="location.href=&quot;mailto:a@b.com?body=&quot;+document.getElementById(&quot;ta1&quot;).value;" value="Send">

也适用于Android股票浏览器

mailto链接可以使用URL参数在其中包含默认主题/消息。

<a href="mailto:someone@example.com?subject=My%20Subject&body=My%20message">

因此,实现所需内容的最佳方法是根据<textarea>输入元素的值动态构建URL。然后,您可以将URL分配给锚点标记的href属性,或者直接分配给window.location

遗憾的是,<form action="mailto:…">看起来不起作用,所以您需要一些JS。

只需将侦听器绑定到<textarea>onkeyuponchange事件,即可运行创建正确类型的mailto:链接的函数。

$("#sendMail").on("keyup change", function(){
    $(this).attr("href", "mailto:......");
});

你可以这样指定收件人、主题和正文:

<a id="sendMail" href="mailto:user@domain.com?subject=abcdef&body=bodyMessage">Send</a>

然后使用一些CSS将链接设置为类似按钮的样式。例如

#sendMail { display: block; background: #EEE; border: 1px solid #CCC; color: #000; }