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

时间:2012-02-14 16:32:27

标签: javascript android mailto

我想使用简单的mailto-link从我的phonegap + sencha touch app发送电子邮件。邮件包含一个带有链接的主体,该链接具有复杂的JSON字符串作为参数,我也想对其进行编码,以便收件人只需单击该链接即可。如果我只是将JSOn字符串放入正文并编码正文,邮件正文在发送之前就会正确显示,但是如果我在将JSON字符串添加到mailto-link之前尝试对其进行编码,那么只有主题和邮件地址而不是身体都显示出来了。

这是创建mailto-link的来源:

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);

如果我只是直接放入专辑列表而不是键,正确解释了正文。

这是放入window.location之前的完整mailto-string:

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

适用于Chrome。我正在使用Phonegap 1.2 + Sencha Touch 2.0 PR3 + Android 3.1

0 个答案:

没有答案