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