前回、Copyrightの表示をJavaScriptで記述しました。
var c_right ="<p class=\"copyright\">Copyright © "
+ "2008"
+ " 八仙花(Hachisenka). "
+ "All Rights Reserved.</p>";
document.write(c_right);
これです。
今回は、この著作者名の部分にメールアドレスをリンクします。
といって、
var c_right ="<p class=\"copyright\">Copyright © "
+ "2008"
+ " <a href=\"mailto:メールアドレス\">八仙花(Hachisenka).</a> "
+ "All Rights Reserved.</p>";
document.write(c_right);
などとしようものなら、メールアドレス回収ロボットにメールアドレスを持ってゆかれてしまいます。
回収されるとどうなるか。
毎日毎日送信した覚えもないリターンメールを何十通といただくことになります。
他にも、請求した覚えのない「Your password」とか、感謝される謂れのない「Thank You!」なども届きます。
まさに No Thank You! という状況です。
少ないほうだとは思うのですが、わたしは「半日で70通」をいただくこともありました。
メールボックスから削除するもの面倒くさいです。
面倒くさい。
これは、わたしを動かす唯一無二の指令(そんな馬鹿な/笑)
では、どうしたらよいのでしょう。
まず、ロボットの特性を考えました。
広大なwebからメールアドレスだけを拾い出すには、メールアドレス固有の特徴を見分ける必要があります。
つまり、やつらは「mailto:」や「@」に反応するのではないか、と推測したのです。
そこで「mailto:」や「@」をhtmlから隠すことを考えました。
そのソースがこちら。
acount = "info"; //メールアカウント
domain = "hanaakari.jp"; //ドメイン
at = "<img src='at.gif' alt='&#64;' width='8' height='10'>" //@イメージ
reference = acount + at + domain;
e_mail = "mailto:" + acount + "@" + domain;
letter = "<address>このサイトへのお問い合わせは"+reference.link(e_mail)+"まで</address>";
document.write(letter);
表示サンプルはこれです。
1.「メールアカウント」と「@」と「ドメイン」を個別に設定し、それを再度くっつける。
2.その際、「@」をgif画像で表示する。
3.さらにタグの中の「@」は「@」で表記。
こうすると、万が一手動でアドレスを拾われた場合でも、アカウントやドメインの変更は簡単です。
infoは拾われちゃったからinfomationにしよう、とか、ドメイン変更したからメールアドレスも変えなくちゃ、というときにお役立ちなのです。えへん。
さて、次はこれを前出の「Copyrightの表示」に組みこんでみます。
「@」を表示する必要はないのでgif画像差し替え関連部分は除きました。
そのかわり、著作者を表示するので、これを変数にいたします。
acount = "info"; //メールアカウント
domain = "hanaakari.jp"; //ドメイン
author = "八仙花(Hachisenka)"; //著作者名
Y = "2008"; //西暦
reference = acount + at + domain;
var c_right ="<p class=\"copyright\">Copyright © "
+ Y
+ author.link(reference)
+ ". All Rights Reserved.</p>";
document.write(c_right);
こちらがその表示サンプル。
いかがでしょう。
メールアカウント、ドメイン、西暦、ハンドルネームなどの変更時、全てのページの著作権表示やリンクを修正するよりも、
<script type="text/javascript" src="copyright_2.js"></script>
と、htmlに一行記述しておくほうが、断然楽ですよね。
(それにこうしてメールアドレスをリンクしておくと、時々感想メールもいただけたりします。余禄と言うよりも、このためだけにでもメールアドレスを記載する価値があると申し上げてもよいかと)
以上、「著作権表示にメールアドレスをリンクする」でした。
では。