ecl.js:動的 mailto の文字化け対応
アンカー mailto の件名や本文は、文字化けを防ぐためにShift_JIS でURL エンコードするのがセオリー。
ただEC とかCMS でページによって内容が変化する場合、いちいちプログラミングしてやるのは面倒。
ってことでJavaScript でなんとかできないかと調べたら、Escape Codec Library という素敵なものを見つけた。
http://www.vector.co.jp/soft/dl/other/java/se342855.html
下記のように使う。
<script type="text/javascript" src="ecl.js"></script> <script type="text/javascript"> function mailto(to, subject, body) { var href = 'mailto:'; if (to) href += EscapeSJIS(to); if (subject || body) { if (!subject) subject = ''; if (!body) body = ''; href += '?subject='+EscapeSJIS(subject)+'&body='+EscapeSJIS(body); } location = href; } </script> <p><a href="javascript: mailto('mailto@example.com', '件名', '本文\n改行は\nで')"> メールを送る</a></p>