JavaScriptが助けてくれる場所を学ぶ
mailto: URLを正しくエンコードするのはちょっと面倒です。 これは、件名、デフォルトメッセージ、またはその他の要素を含める必要がある場合に特に当てはまります。 簡単な言葉ではなく、RFC 1738のUniform Resource Locator(URL)標準に従ってエンコードされたASCII文字を表す16進コードを使用する必要があります。 しかし、あなたの頭の上からこれらの16進表記を覚えたり構築したりする必要はありません。JavaScriptはあなたのためにそれを行うことができます。
JavaScriptのencodeURIComponent()関数
JavaScriptのencodeURIComponent()関数は、渡された文字列を引数としてエンコードし、使用するためにそれを返します。 たとえば、 encodeURIComponent( "Doc、do da Dance!")はDoc%2C%20do%20da%20Danceを生成します。 。
はい、それはあいまいです。 この暗号化を手作業で行うと、間違いを犯す可能性がありますが、JavaScriptではできません。 encodeURIComponent()を使用してmailto : URLの構成を簡単にするには、URLの文字列をencodeURIComponent()関数で置き換えます。この関数は、文字列を引数として認識します。
たとえば、 recipient @example.comへのメッセージを開始するmailto: URLを作成するとします。件名は「いつ、いつですか?」(「今」が「ここにいる」)です。 URLは次のようになります。
mailto:recipient@example.com?subject =
件名は文字列「いつ、今はいつですか(もし今なら「ここにいる」)」です。 encodeURIComponent()の引数としての文字列は、次のようになります。
encodeURIComponent(「いつ、今ですか?(現在は\がここにある場合)」) 。
この関数呼び出しの結果は次のとおりです。
%2C%20when%20is%20now%3F%20(%20%22%22%20is%20hereの場合)
Mailto:URLでe ncodeURIComponent()を使用する
mailto : URLでencodeURIComponent()を使用するには、JavaScript関数document.write()内のリンク全体を(に)作成します。 HTMLソースに入力したのとまったく同じように、ドキュメントを作成します 。
例えば:
(「いつ、今ですか?」(「今」が現在の場合)