- 2009年1月9日 7:34 PM
- JavaScript
target要素を使わずにリンク先を別ウィンドウで開く。
これの、もう一歩?進めたやつをメモ。
数日前にエントリーした内容では、設定したcssのclass指定をaタグ内に加えて記述すれば、そのリンク先が別ウィンドウで表示されるというものでしたが、以下のものは「外部へのリンク」をJavaScriptで判断して、その場合のみ別ウィンドウで開くというものになっています。(リンクURLにhttp://が含まれるかどうかによって)
勉強させていただいた書籍は「WebクリエイティブのためのDOM-Scripting-」
window.onload = function (){
var conf = {
className:'externalLink'
};
var anchorList = document.getElementsByTagName('a');
for (var i=0, len=anchorList.length; i<len; i++){
var a = anchorList[i];
if (a.getAttribute('href').match(/^http:///)){
a.className = conf.className;
a.onclick = function (){
window.open(this.getAttribute('href'), '_blank');
return false;
}
}
}
};
上記のソースを、任意の名前をつけた外部jsファイルに記述してリンクを張ります。
(自分の場合は参考書籍のそのまんま、externallinkという名前で)
<script type="text/javascript" src="externallink.js"> </script>
参考書籍の中でも詳しく解説されていますが、jQueryを使用することで、よりコンパクトに記述することも出来るようです。
- 新しい: JavaScript実行のタイミング
- 古い: リンクを別ウィンドウで開く
コメント:0
トラックバック:0
- この記事のトラックバック URL
- http://showzine.info/blog/2009/01/%e5%a4%96%e9%83%a8%e3%83%aa%e3%83%b3%e3%82%af%e3%82%92%e5%88%a5%e3%82%a6%e3%82%a3%e3%83%b3%e3%83%89%e3%82%a6%e3%81%a7%e9%96%8b%e3%81%8f.html/trackback
- トラックバックの送信元リスト
- 外部リンクを別ウィンドウで開く - SHOWJIN*BLOG より