Cod*_*edd 6 html mailto outlook internet-explorer
我使用mailto允许客户提交产品报价信息.我试图通过将mailto链接构造为字符串,并根据以下代码连接引用信息,将引号自动填充到电子邮件正文中:
var quoteinfo = 'quote information here';
var link = '<a href="mailto:email?subject=subject&body=Please enter your contact information
and message here: %0A%0A%0AQuote:%0A' + quoteinfo + '">email</a>';
Run Code Online (Sandbox Code Playgroud)
但是,在使用IE时,单击链接时会生成电子邮件,但只显示明确添加的文本 - quoteinfo变量中没有存储任何内容.我已经验证最终链接确实包含所有引用信息 - 它只是没有出现在电子邮件中.由于电子邮件确实成功生成了部分文本,我不相信这是一个字符溢出问题(在任何情况下,即使在quoteinfo变量中只有30个字符,也会发生这种情况.
也许这是邮件客户端特有的问题?
最后一点:我很清楚,有一种流行的方式用表格替换mailto - 由于其他原因,我不能在这里做到这一点,所以请不要通过建议切换到表单来做出回应.
我的链接如何显示的具体示例如下:
mailto:sales@optecinc.com?subject=Submission From Quote Creator &body=Please enter
your contact information and message here: %0A%0A%0AQuote:%0A#17350 - IFW 2-inch -
$829.00%0A
Run Code Online (Sandbox Code Playgroud)
Gar*_*ary 12
哈希符号(#)在URL中具有特殊含义(记住锚名称?例如http://example.com#TopOfPage).替换为%23.
请参阅W3的URL编码参考
更好的是,JavaScript可以通过该encodeURI()功能为您完成.
window.onload = function() {
var eTo = encodeURI("sales@example.com");
var eSubj = encodeURI("Submission From Quote Creator");
var eBody = encodeURI("Please enter your contact information and message here: \n\n\nQuote:\n#17350 IFW 2-inch -$829.00\n");
var email = "mailto:" + eTo + "?subject=" + eSubj + "&body=" + eBody;
document.getElementById("sales").href = email;
}Run Code Online (Sandbox Code Playgroud)
<a href="" id="sales">email</a>Run Code Online (Sandbox Code Playgroud)