我目前正在撰寫一個功能,用戶將點擊一個特定的電子郵件,這將被添加到本地存盤的串列中,此后,用戶將點擊一個按鈕,本質上該按鈕應該流行一個 href 標簽,以便所有郵件地址都被復制到用戶的默認電子郵件設定(在我的情況下是 Outlook)。
我的問題是如何將其轉換為電子郵件格式?我曾嘗試將其加載到標簽中并且可以正常作業,但是 Django 將其解釋為 URL,而不是郵件串列?
到目前為止,我有以下幾點:
<td class="virtualTd" onclick="putThis(this)">{{ client.email }}</td>
<script>
const emails_list = []
function putThis(control) {
var email = control.innerText;
emails_list.push(email);
}
</script>
這將填充一個包含所有地址的陣列,
此后,用戶可以單擊此按鈕將資料加載到本地存盤,最終目的是加載 Outlook 電子郵件
<a href="#" id="sendEmail" class="btn btn-primary" onclick="popEmail()"> Email Client </a>
<script>
function popEmail() {
const jsonArr = JSON.stringify(emails_list);
localStorage.setItem("array", jsonArr);
const str = localStorage.getItem("array");
const parsedArr = JSON.parse(str);
console.log(parsedArr);
var a = document.getElementById('sendEmail');
a.href = parsedArr;
}
</script>
uj5u.com熱心網友回復:
為什么是localStorage?
注意:用戶很可能沒有設定電子郵件客戶端來處理對 mailto 的點擊
也不可能有不同的電子郵件分隔符在 HTML 郵件鏈接中是不同的郵件客戶端
作業示例
let emails_list = []
window.addEventListener("load",function() {
document.getElementById("tb").addEventListener("click", e => {
const tgt = e.target;
if (tgt.classList.contains("virtualTd")) {
const email = tgt.textContent.trim();
if (!emails_list.includes(email))
emails_list.push(email);
}
if (emails_list.length>0) {
const href = `mailto:${emails_list.join(",")}?subject=Test&body=Test Body` // or ";"
console.log(href)
document.getElementById("mailDiv").innerHTML = `<a
href="${href}" >Email Client</a>`
}
});
})
<table>
<tbody id="tb">
<tr>
<td>Joe</td>
<td class="virtualTd">[email protected]</td>
</tr>
<tr>
<td>Fred</td>
<td class="virtualTd">[email protected]</td>
</tr>
</tbody>
</table>
<div id="mailDiv"></div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/373828.html
標籤:javascript html 姜戈
下一篇:我需要Django方面的幫助
