Скрытие адресов электронной почты путем сборки mailto: href в js.
ОБНОВЛЕНИЕ Теперь пытаюсь создать универсальную функцию, которую я могу вызывать где угодно.Появляется ошибка "not func" при передаче this.id в var
onclick="mailTo(this.id,'aTLD','aDOMAIN','anACCOUNT','aWEBSITE','I have a website question or issue.');"
function mailTo( idx , tld , domain , account , site , bodyText ) {
let qS = `document.querySelector('#${idx}')`;
console.log(qS);
let arrEmail = [tld, domain, account, site, bodyText];
const buildEmail = (arr) => `${arr[2]}@${arr[1]}.${arr[0]}?subject=From the ${arr[3]} website&body=${arr[4]}`;
qS.addEventListener('click', (event) => {
let str = `mailto:${buildEmail(arrEmail)}`;
location.href = str;
});
}
PREVIOUS В 2006 году использовались строки eval (args +)"+ vars) и работал нормально, но это опасная опасность для пользователя + ресурсный бегемот.Попытка возврата (vars + args), но не срабатывает.console.log / alert () s показывают, что строка собирается правильно.
//###(UNIVERSAL FUNCTION ASSEMBLES MAILTO HREF TO DETER HARVESTERS]###
var html1 = "\"location.href=\'mailto:";
var html2 = "?";
var html3 = "\&bcc=";
var html4 = "@";
var html5 = ".";
var html6 = "\'\"";
var html7 = "Inquiry%20from%20";
var html8 = "%20site.";
var header = "subject=";
var body = '';
var domain = '';
var account = '';
function mail_To(tld , domain , account , site , bodyText) {
domain = domain + ".";
account = account + "@";
if( bodyText != ' ' ) {
var body = "&body=" + bodyText
} else {
var body = ' ';
}
return( html1 + account + domain + tld + html2 + header + html7 + site +html8 + body + html6 );
}
<body>
<span onclick="mail_To('us','puppymillfree','we.want','Puppy Mill Free US','test Body text')">
</body>
консоль печатает как положено (с кавычками):
"location.href='mailto:we.want@puppymillfree.us?subject=Inquiry%20from%20Puppy Mill Free US%20site.&body=test Body text'"
Но не уверен, как стрелять.При использовании метода eval () вместо оператора return срабатывает событие, клиент электронной почты запускается с полями адреса и заполненным телом.