◆JavaScriptを使う:上級:ドメイン取れいん?

◆ JavaScriptを使う:上級

メールアドレスのリンクをHTMLタグではなく、JavaScriptを使って表示させるようにする方法です。
こうすることで、ロボットプログラムにメールアドレスを収集させにくくします。

JavaScriptを使用する場合、いろいろな書き方ができるのですが、例えばこんな書き方もありますよという一つの例として、

<script type="text/javascript">
(function(){
  var account = "hoge";
  var domain = "example.com";
  var text = "メールアドレス";
  if(text == "") text = account + "@" + domain;
  document.writeln(text.link("mailto:"+account+"@"+domain));
})();
</script>

HTMLのメールアドレスを表示したい箇所に上記のコードを書き込みと、メールアドレスのリンクが表示されます。

  1. 赤い文字でhogeと書かれているところには、メールアドレスのアカウント部分(@より前の部分)を入れます。
  2. 緑の文字でexample.comと書かれているところには、メールアドレスのドメイン部分(@より後の部分)を入れます。
  3. 青い文字でメールアドレスと書かれているところはブラウザ上に表示される文字を入れます。
    またこの部分を空(var text = "";)にするとブラウザ上にもメールアドレスが表示できます。

<↓サンプル↓>

- JavaScriptを外部ファイルにする -

JavaScriptのコードを外部ファイル化してしまえば、メールアドレスをさらに収集させにくくすることができると思われます。

  1. やり方は、まずメモ帳などに次のコードをコピペします。
(function(){
  var account = "hoge";
  var domain = "example.com";
  var text = "メールアドレス";
  if(text == "") text = account + "@" + domain;
  document.writeln(text.link("mailto:"+account+"@"+domain));
})();
  1. 赤い文字でhogeと書かれているところには、メールアドレスのアカウント部分(@より前の部分)を入れます。
  2. 緑の文字でexample.comと書かれているところには、メールアドレスのドメイン部分(@より後の部分)を入れます。
  3. 青い文字でメールアドレスと書かれているところはブラウザ上に表示される文字を入れます。
    またこの部分を空(var text = "";)にするとブラウザ上にもメールアドレスが表示できます。
  4. これを適当な名前で(ここでは仮にuntispam.jsという名前)保存します。
  5. 次に、HTMLファイルのメールアドレスを表示したい場所に、次のHTMLタグを追加します。
  1. untispam.jsの所は先ほどのメモ帳で作ったファイルへのパスになります。
    違うファイル名にした時や、HTMLファイルと違うディレクトリにアップロードする場合などは、適時書き換えてください。
  2. 最後に、これらファイルをアップロードします。

<↓サンプル↓>

JavaScriptを使った方法の欠点として、

JavaScriptは、ユーザーのブラウザ上で実行される仕組みのものなので、ユーザー側の環境に左右される場合があります。
当然ユーザーがJavaScriptを無効にしているとリンクは表示されなくなります。

迷惑メール対策” 記事一覧