[ プログラミング ] jQueryを利用して、リンク先を別ウィンドウで開く

リンク先を別ウィンドウで開く場合、HTMLソースコードに、<a href=”http://www.xx.com” target=”_blank”>と記述しますが、XHTML1.0 strictでは、target=”_blank”が非推奨だったり(その他のXHTML1.0 TransitionalやHTML5では非推奨ではありません)、いちいちtarget=”_blank”を記述するのが面倒だったり、ついつい忘れてしまったりします。

そこで、jQueryを利用して、リンク先を別ウィンドウで開く方法が便利です。

ここで、問題なのは、全てのリンク先を別ウィンドウで開くわけではないですよね。同一サイトのリンクは同一ウィンドウで開いたほうがよいでしょう。また、同一サイトのリンクでも絶対パス(http://~から始まるパス)で記述している場合もあるでしょう。そのような場合でも、同一サイトのリンクは同一ウィンドウで、別サイトは別ウィンドウで開くようにしてみます。

Java Script

$(function(){
   $('a[href^=http]').not('[href*="www.mysite.com/"]').attr('target','_blank');
});

この方法であれば、例えば、当サイトのように、同一ドメインで複数のサイトを管理していても、

Java Script

$(function(){
   $('a[href^=http]').not('[href*="www.coolwebwindow.com/jquery-lab/"]').attr('target','_blank');
});

というように記述すれば、同一ドメイン上であっても、jquery-lab/配下のページは同一ページに、別のディレクトリにある別サイトは別ウィンドウで開くことができます。