[英]Add a link to a local file to email using mailto Javascript
我需要通過電子郵件將數據從一種HTML形式傳遞到另一種形式。 我在插入指向本地文件的鏈接時遇到了一些問題。 Outlook客戶端打開后,鏈接的格式不正確,並且不是超鏈接。 這是我表單中的send()函數
function send()
{
var name = document.getElementById('Fname').value;
var company = document.getElementById('company').value;
var email = document.getElementById('email').value;
var str = "Link to IT Web Report"
var linkToReport = str.link('S:\IT\Applications\Aleds Work\Guest WIFI access\ITTaskWebReport.html?name='+name+'&company='+company+'&email='+email);
var link = 'mailto:FHCNetAlert@fhc.co.uk?subject= Guest WIFI request'
+'&body=A request for guest WIFI access was made. Details:- %0D%0A'
+'%0D%0A Name: '+document.getElementById('Fname').value +
'%0D%0A Company: '+document.getElementById('company').value +
'%0D%0A Email: '+document.getElementById('email').value +
'%0D%0A' +linkToReport;
window.location.href = link;
}
這是此鏈接在Microsoft Outlook中的顯示方式-
<a href="S:ITApplicationsAleds WorkGuest WIFI accessITTaskWebReport.html?name=Aled Hughes
如您所見,它的格式不正確,不是鏈接,並且缺少公司變量和電子郵件變量。 有什么幫助嗎?
要在mailto
鏈接中傳遞URL,您需要對其進行URL編碼,並且還希望轉義反斜杠。 我沒有要測試的Windows機器,但是您想要類似的東西;
var linkToReport = str.link(encodeURIComponent('S:\\\\IT\Applications\\Aleds Work\\Guest WIFI access\\ITTaskWe...'))
這有望使您走上正確的道路;)
您需要像在mailto URI中一樣使用encodeURIComponent
,類似GET的參數被解釋為電子郵件標頭,例如body
, cc
,因此它將破壞URI中像company
一樣的組件。
也要當心諸如“ O'Mally”之類的人,即添加更多邏輯以轉換單引號,正如encodeURIComponent上的MDN頁面所說;
encodeURIComponent會轉義除以下字符外的所有字符:字母,十進制數字--_。 ! 〜*'()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.