厳密DTD や XHTML 1.1などで非推奨(というか廃止?)タグとされている<a>タグのtarget="_blank"。
この仕様には賛否両論らしいですが、個人的には外部サイトへのリンクの場合は外部リンクのほうがユーザーには便利だと思うんですけどね(普段ネットサーフィンしてて特にそう思う)
外部リンクをtarget="_blank"を使わないでjavascriptを使った代替コーディングを行います。
サンプルページ
-
-
window.onload= function() {
-
var a_all = document.getElementsByTagName("a");
-
-
for (i = 0; i <a_all.length; i++) {
-
a_all[i].target = "_blank";
-
}
-
};
-
</script>
-
<a href="http://www.google.co.jp">Googleに外部リンク
</a>
はい終わり。
でもこれだとページ内のリンクが全部外部リンクになっちゃうので、たとえばこんな感じで外部リンクと内部リンクを分けてみる。
※差異点はname属性を追加したこととgetElementsByNameに変更したことのみです。
サンプルページ
-
-
window.onload= function() {
-
var a_all = document.getElementsByName("outside");
-
-
for (i = 0; i <a_all.length; i++) {
-
a_all[i].target = "_blank";
-
}
-
};
-
</script>
-
<a href="http://www.google.co.jp">Googleに通常リンク
</a><br />
-
<a href="http://www.google.co.jp" name="outside">Googleに外部リンク
</a>
※IEとOperaの場合、getElementsByNameでname属性だけでなくid属性も取得対象となってしまうので注意。
終わり。