"+"登录JS mailto链接(Android和Chrome)

"+" sign in JS mailto links (Android & Chrome)

本文关键字:Android Chrome 链接 mailto quot+ quot 登录 JS      更新时间:2023-09-26

我的网页,它有一个按钮,可以打开带有电子邮件消息的电子邮件客户端
当用户单击按钮时,将执行以下脚本(JavaScript)。

我的问题是,在Android 4.4.4和Chrome 38上,邮件客户端(Gmail或Android的默认设置)会替换"+"符号中的%20。
我尝试使用encodeUriencodeUriComponent和正则空格字符,但每次都得到"+"号。
知道如何删除常规空格字符的"+"号吗?

var addresses = "";
var subject = "";
var body
try {
    subject = config['email']['subject']  ;
} catch (e) {
    subject = "I%20think%20you%20will%20like%20it";
}
try {
    body = config['email']['body'];
} catch (e) {
    body = "Visit%20this%20link:";
}
body += document.URL;
var href = "mailto:" + addresses + "?"
     + "subject=" + (subject) + "&"
     + "body=" + (body);
var a = document.createElement('a');
a.href = href;
document.body.appendChild(a);
a.click();

这里也一样,但在不同的地方都有记录:

安卓板

铬板