代码之家  ›  专栏  ›  技术社区  ›  Peter K.

mailto:和onclick()在同一元素上的行为

  •  0
  • Peter K.  · 技术社区  · 7 年前

    我使用一些服务器端的电子邮件混淆,不想将完整的电子邮件地址放在 mailto: 是的。在元素中,我调用一个js函数,该函数从服务器获取电子邮件地址,并调用(另一个) 邮寄地址: 没有js函数的链接。

    我先保存了 href 空的(我想放在 # ,但是当浏览该链接时,浏览器的状态栏会显示指向当前页面的链接,并且显示 邮寄地址: 状态栏中的链接,但只显示此人的名字,而不显示有效的电子邮件地址。

    HTML格式:

    <a href="mailto:johny" onclick= "sendmail('jj'); return false;" title="Send email">
    

    JS公司:

    function sendmail(dest) {
    var link = "";
    fetch('/returnmailstring.php?dec='+code+'&input='+dest)
            .then(function(response) {
                response.text()
                .then(function(text) {
                link = text;
                    if (link.length > 2) {
                        if(window.confirm('Send email to \n'+link+' ?')) {
                        window.location.href = link;
                        }
                    }
                })
            })
    }
    

    所以我的问题是,拥有一个双重/相同的功能,但使用两种不同的方法是否可以接受? 我本以为也许 二 “新邮件”窗口会被打开,或者其他一些奇怪的行为,但实际上一切正常。但我无法想象这是符合标准的,而且它在所有浏览器/设备中都能正常工作?

    一个相关的问题是当用户点击链接时会发生什么。我目前实现了一个确认框,所以用户可以选择 OK 要实际继续发送电子邮件(使用默认电子邮件客户端),或者只需从框中复制电子邮件地址(并粘贴到另一个邮件客户端,例如g mail),然后 Cancel 返回页面。另一种方法是跳过确认框,单击后直接打开邮件客户端。是否有用户体验规则/标准可遵循,或使用此类确认框是否可接受?

    0 回复  |  直到 7 年前