Javascript 如何在mailto链接中对URI进行双重编码?

Javascript 如何在mailto链接中对URI进行双重编码?,javascript,android,mailto,Javascript,Android,Mailto,我想用一个简单的mailto链接从我的phonegap+sencha touch应用程序发送一封电子邮件。邮件包含一个带有链接的正文,该链接的参数是一个复杂的JSON字符串,我也想对其进行编码,以便收件人只需单击该链接。如果我只是将JSOn字符串放入正文中并对正文进行编码,邮件正文将在发送之前正确显示,但是如果我尝试在将JSOn字符串添加到mailto链接之前对其进行编码,则只显示主题和邮件地址,而不显示正文 这是创建mailto链接的源: var key = encodeURIComponen

我想用一个简单的mailto链接从我的phonegap+sencha touch应用程序发送一封电子邮件。邮件包含一个带有链接的正文,该链接的参数是一个复杂的JSON字符串,我也想对其进行编码,以便收件人只需单击该链接。如果我只是将JSOn字符串放入正文中并对正文进行编码,邮件正文将在发送之前正确显示,但是如果我尝试在将JSOn字符串添加到mailto链接之前对其进行编码,则只显示主题和邮件地址,而不显示正文

这是创建mailto链接的源:

var key = encodeURIComponent(albumlist);
var msg = {
    subject : "Mein Photoalbum",
    body : "Du wurdest eingeladen Dir mein Photoalbum anzuschauen.\n\n"+
        "Klicke dazu einfach auf folgenden Link:\n"+
        "http://photoalbum.incom-grosche.com/photoalbum/index.html?userid="+
        userid+"&albumlist="+key+" \n\n"+
};
window.location = "mailto:?" + Ext.urlEncode(msg);
如果我直接放置albumlist而不是键,那么主体将被正确解释

以下是放入window.location之前的完整mailto字符串:

mailto:?subject=Mein%20Photoalbum&body=Du%20wurdest%20eingeladen%20Dir%20mein%20Photoalbum%20anzuschauen.%0A%0AKlicke%20dazu%20einfach%20auf%20folgenden%20Link%3A%0Ahttp%3A%2F%2Fphotoalbum.incom-grosche.com%2Fphotoalbum%2Findex.html%3Fuserid%3D100798134114820183945%26albumlist%3D%255B%257B'albumid'%253A'5702343608088818753'%252C'authkey'%253A'Gv1sRgCPqpv8yA7OvChQE'%257D%255D%20%0A%0ASollte%20der%20Link%20nicht%20funktionieren%2C%20melde%20Dich%20auf%20http%3A%2F%2Fphotoalbum.incom-grosche.com%2F%20mit%20folgenden%20Angaben%20an%3A%0A%0ABenutzerkennung%3A%20100798134114820183945%0ASchl%C3%BCssel%3A%20%5B%7B'albumid'%3A'5702343608088818753'%2C'authkey'%3A'Gv1sRgCPqpv8yA7OvChQE'%7D%5D
在铬上工作。我正在使用Phonegap 1.2+Sencha Touch 2.0 PR3+Android 3.1