Tips というより開発時に調べた Script 等を忘れないように書き留めた覚え書きです。
最近はここに書き留めておくことも忘れている始末で、我ながら情けなく思う今日この頃です。
ということで、不定期更新というか最近更新していませんが、JavaScript や VBScript などを紹介していきますのでご参考になれば幸いです。

target="_blank" を使わないで新しいウィンドウでリンクを開く方法

新しいウィンドウでリンクを開くには target="_blank" をアンカータグに記述すれば実現できます。

<a href="https://www.google.co.jp/" target="_blank">

しかし target="_blank" は W3C で推奨されていません。=>文法チェックすると減点対象になっています。

Javascript を使って新しいウィンドウでリンクを開くことが出来ます。

<a href="" onclick="javascript:window.open('https://www.google.co.jp/');" onkeypress="javascript:window.open('https://www.kanaya440.com');">

あるいは

<a href="javascript:window.open('https://www.google.co.jp/');">

しかし、Javascript が Off になっている場合はリンク先に移動出来ません。
それよりももっと問題なのが、検索 bot がリンクと認識しないために、発リンクのアドバンテージが受けられません。
つまり SEO上不利になります。

それを解決する方法がありました。実に目から鱗の方法です。
リンクに rel="external"」をつけるだけで実現出来ます。

Google検索ページへ

Javascript

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   var idx = -1;
   if(anchor.getAttribute("rel")){
     idx = anchor.getAttribute("rel").indexOf("external");
   }
   if (anchor.getAttribute("href") && idx != -1) {
     anchor.onclick = function(event){return popupWindow(this, event);}
     anchor.onkeypress = function(event){return popupWindow(this, event);}
   }
 }
}

function popupWindow(anchor, event){
  var keyCode;
  if (event && event.type == 'keypress') {
    if (event.keyCode) {
      keyCode = event.keyCode;
    } else if (event.which) {
      keyCode = event.which;
    }
    // 13 == Return key. 32 == space key
    if (keyCode != 13 && keyCode != 32) {
      return true;
    }
  }
  return !window.open(anchor);
}

Event.observe(window,'load', externalLinks, false);

こちれを実現するにはAjaxライブラリの1つであるprototype.jsが必要です。
Download Prototypeから最新版をダウンロードして下さい。

実はこの方法は target="_blank" を使わないで新しいウィンドウでリンクを開く方法 で紹介されている方法です。
同じことをここで書いても仕方がないので、そちらをご覧下さい。

更に「_blankを使わないで別ウィンドウを開くにはrel="external"を使うのが美しいと思う。」という記事のやり方がとてもスマートで、目から鱗のやり方で関心します。(こちらのページは現在なくなっています)

ただし、ちょっとした間違いや、説明の分かりづらい点がありますので、サンプルを用意しました。
下記からダウンロードして参考にして下さい。

ZIPのダウンロード (47KB)

ページの先頭へ