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>

追記

 転載可となっていたので転載

http://www.kingyoya.org/

 本家サイトは死んでる