外部リンクを別窓で開く

外部リンクを別窓で開く際に使われる target=”_blank” ですが、実はStrict文書型では非推奨になっています。
しかしだからといって全て同窓で開けばいいのかと言われると、ユーザビリティ的によくない気がします。
うっかりして窓を閉じてしまうことが多々あり、正直使いにくいと思います。
タブブラウザを使っている方は、特にそうなのではないでしょうか。

というわけで、javascriptを使用し、target=”_blank” を使わずに別窓で開く方法を。

まず、以下の javascriptを用意します。とりあえず、blank.js で。

window.onload = function() {
 var node_a = document.getElementsByTagName('a');
 for (var i in node_a) {
  if (node_a[i].className == 'blank') {
   node_a[i].onclick = function() {
    window.open(this.href, '', '');
    return false;
   };
  }
 }
};

この blank.js をページ head 内に読み込みます。

あとは、通常 target=”_blank” を使用している部分を class=”blank” に変更します。
つまり、これを

<a href="#" target="_blank">外部リンク</a>

こう。

<a href="#" class="blank">外部リンク</a>

これで target=”_blank” を使用せずに別窓で開けるようになります。