了解JavaScript的幫助
正確編碼mailto: URL有點麻煩。 當需要包含主題行,默認消息或其他元素時,尤其如此。 您必須使用十六進制代碼,代表按照RFC 1738-統一資源定位符(URL)標準編碼的ASCII字符,而不是簡單的單詞。 但是,您不必記住或構建這些十六進製表示,儘管:JavaScript可以為您做到這一點。
JavaScript encodeURIComponent()函數
JavaScript encodeURIComponent()函數將它作為參數傳遞的任何字符串進行編碼並將其返回以供使用。 例如, encodeURIComponent(“Doc,do da Dance!”)會生成Doc%2C%20do%20da%20Dance! 。
是的,這是模糊的。 如果你手工做這個密碼學,你可能會犯一個錯誤 - 但JavaScript不會。 要使用encodeURIComponent()來簡化mailto : URL的組合,只需使用encodeURIComponent()函數替換URL中任何出現的字符串,該函數將字符串視為參數。
例如,假設您要創建一個mailto: URL,它向recipient@example.com發起消息,主題為“什麼時候什麼時候?”(如果“現在”在這裡)。“ 該URL將如下所示:
的mailto:?recipient@example.com受試者= <主題>
主題是字符串,“什麼時候,現在什麼時候?(如果”現在“在這裡)。” 作為encodeURIComponent()的參數的字符串將產生以下內容:
encodeURIComponent(“什麼時候,現在什麼時候?(如果\”now \“在這裡)”) 。
這個函數調用的結果是:
當%2C%20when%圖20是%20now%3F%20(如果%20%22now%22%圖20是%20here)
使用e ncodeURIComponent()使用Mailto:URL
要在mailto : URL中使用encodeURIComponent() ,請在JavaScript函數document.write()中編寫整個鏈接(從““ ) ,將任何文本寫入該文件,就像我們在HTML源代碼中輸入它一樣。
例如: