[英]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.