Javascript 对于重音字符,chrome和firefox的Mailto链接行为不同
我有一个web应用程序,允许用户通过弹出电子邮件邀请其他人。问题是,对于法国用户,此电子邮件包含重音字符,并且无法在firefox中打开,然后出现错误: 错误:组件返回故障代码:0x80070057(NS\u错误\u非法\u值)[nsIDOMLocation.href] 我已经了解了重音是如何被编码的,并且可以用以下代码轻松地重现它:Javascript 对于重音字符,chrome和firefox的Mailto链接行为不同,javascript,email,firefox,google-chrome,mailto,Javascript,Email,Firefox,Google Chrome,Mailto,我有一个web应用程序,允许用户通过弹出电子邮件邀请其他人。问题是,对于法国用户,此电子邮件包含重音字符,并且无法在firefox中打开,然后出现错误: 错误:组件返回故障代码:0x80070057(NS\u错误\u非法\u值)[nsIDOMLocation.href] 我已经了解了重音是如何被编码的,并且可以用以下代码轻松地重现它: document.location.href = 'mailto:?body=' + escape("à"); 在firefox中被破坏,但在Chrome和IE
document.location.href = 'mailto:?body=' + escape("à");
在firefox中被破坏,但在Chrome和IE中工作
document.location.href = 'mailto:?body=' + encodeURIComponent("à");
在firefox中工作,但在使用Chrome和IE时在电子邮件正文中产生错误字符(“Ô)
因此,我的问题是-我应该如何在mailto链接中编码特殊字符,以便它们跨浏览器工作
谢谢 包含有问题的脚本的页面的字符编码是什么?也就是说,我刚刚在Safari和Chrome中尝试了encodeURIComponent版本,它在这两种版本中都有效。。。但在Windows上,它可能最终取决于您使用的代码页?