在javascript中使用mailto后无法关闭新窗口

时间:2016-12-26 14:14:23

标签: javascript

我试图在点击按钮时发送调用电子邮件并且其工作正常但是额外的窗口在此过程中被打开,即使我已尝试close我也无法关闭它方法。我已经尝试过在IE 10和IE 11中运行它。

以下是代码

    <html>
<head>
<script type='text/javascript'>
    function sendMail(){

        var wi = window.open('mailto:someone@example.com?subject=' + encodeURIComponent(document.getElementById("metric").value));
        wi.close();     
   }

</script>
</head>
<body>

<h4>Send e-mail to committee with below subject:</h4>

<form action="javascript:sendMail()" method="post" enctype="text/plain">

<select id="metric">

  <option value="test1">test1</option>
  <option value="test2">test2</option>
</select>
<br><br>

<input type="submit" value="Send">

<p></p>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

我要继续说这不是你怎么做的。

mailto:链接可打开用户的默认电子邮件客户端。如果您删除了在脚本中关闭窗口的尝试,您会看到这种情况发生。但要做任何有用的事情,你必须与发件人等一起填写邮件。

因此用户需要在其电子邮件客户端中触发实际发送。

您通常要做的是将请求发送到服务器,并让服务器使用SMTP服务(几乎所有人都已经拥有它)放在一起并发送电子邮件。它很简单,它的工作原理取决于您将要在哪个服务器上托管您的解决方案。

据我所知,没有纯粹的javascript / server-less方法。如果你考虑一下,这是有道理的;是什么会阻止某人根据你从网页上收集的内容发送一千封电子邮件的网页?