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

时间:2018-10-29 22:25:20

标签: javascript user-experience mailto

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

我首先将href保留为空白(我认为放置#时是相同的),但是当将鼠标悬停在链接上时,浏览器的状态栏会显示指向当前页面的链接,而且看起来更整洁(和预期的行为),以便在状态栏中显示一个mailto:链接,但仅带有该人的名字,而没有有效的电子邮件地址。

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来实际继续发送电子邮件(使用默认的电子邮件客户端),或者只是从该框中复制电子邮件地址(然后粘贴到另一个邮件客户端,例如gmail) ),然后按Cancel返回页面。另一种选择是跳过确认框,单击后直接打开邮件客户端。是否要遵循UX规则/标准,还是可以使用这种确认框?

0 个答案:

没有答案