JS:电子邮件客户端弹出后,不能关闭当前窗口/选项卡

JS: Can't close current window/tab after email client pops up

本文关键字:窗口 选项 不能 客户端 电子邮件 JS      更新时间:2023-09-26

编辑:我看了看:用户点击电子邮件中的链接,它打开电子邮件客户端,如何关闭窗口/选项卡?

只是想确认一下,是不是真的没有办法。


我的页面作为一个"过渡/中间页面",它会重定向到其他页面,或打开电子邮件客户端。

"#myDiv"包含一个链接,它可能是一个普通的链接(例如:http://www)或一个电子邮件链接(mailto:)。链接来自DB。我想做的是:

  1. 检测是普通链接还是邮件链接
  2. 如果是正常链接,将页面重定向到该链接。
  3. 如果是mailto链接,打开该电子邮件客户端(例如:outlook),然后关闭当前窗口/选项卡。

我得到了1和2的工作,但对于3,我可以有电子邮件客户端(outlook)出来。但是它就是没有关闭当前窗口/选项卡。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

</head>
<body>
<div id="myDiv">
    <a href="mailto:test@test.com">Here is a email address. This window/tab should be closed.</a>
</div>

    <script type="text/javascript">
        var link = jQuery("#myDiv a").attr("href");
        if(link.indexOf("mailto:") == -1) {
            window.location = link;
        } else {
            opener=self;
            //alert('in else');
            window.location = link;
            self.close();
            window.close();
        }
    </script>
</body>
</html>

如果你没有打开窗口,你就不能关闭它。