当我使用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
如何修复它并创建有效的网址?
console.log正确显示已编码的url但在outlook中链接已断开。它应该显示为适当的超链接
答案 0 :(得分:1)
您是否尝试过将space
变量中的%20
替换为body
?
body = "http://www.sample.com/sample/explore?itemId=123&type=sample&name=name%20with%20space"
我建议您使用this工具将纯文本编码为 querystring 。例如,如果您需要传递 newline (\n
),则将%0A
用于换行符\n
,将%0D
用于回车符{{ 1}}。查看this ASCII表以了解编码:第二列(Hx =十六进制ASCII表示)以\r
作为前缀,对应于第五列中报告的红色字符(Chr =字符) ,例如:
空格字符(表格中的第五列,Chr)= %
(表格中的第二列,Hx)≅%20
(读为{{3} }答案)