繁体   English   中英

构建mailto链接时的encodeURIcomponent

[英]encodeURIcomponent while constructing mailto link

当我使用 encodeURIComponent 对正文进行编码时,如下所示,并且如果正文中有空格,则生成的链接将断开并显示如下:

http://www.sample.com/sample/explore?itemId=123&type=sample&name=name带空格

body = "http://www.sample.com/sample/explore?itemId=123&type=sample&name=name with space"

var newLink = "mailto:?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(body);

window.location = newLin

我该如何修复它并创建一个有效的 url?

console.log 正确显示编码的 url,但在 Outlook 中链接已损坏。 它应该显示为一个正确的超链接

您是否尝试在body变量中用%20替换space

body = "http://www.sample.com/sample/explore?itemId=123&type=sample&name=name%20with%20space"

我建议您使用工具将纯文本编码为querystring 例如,如果您需要传递换行符( \\n ),请使用%0A换行\\n%0D回车\\r 这个ASCII表就明白编码了:第二列(Hx=十六进制ASCII表示),以%为前缀,对应第五列报告的红色字符(Chr=字符),即例如:

空格字符(表格中的第五列,Chr)= %20 (表格中的第二列,Hx)≅ + (阅读答案)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM