aタグにtarget="_blank"を入れるのって、抵抗ありますよね。
ただ単に、非推奨だから、ってわけではなく、ユーザーの視点から考えても_blankはナンセンスな機能だと思います。
pxblog読者様の半分以上を占めるIE6ユーザーは、タブブラウザ慣れしてないので、別窓blank指定してないリンクをクリックすると、同じwindowのままどんどん別サイトへ移動しちゃって、困ります。 (別サイトは別窓にしてよ!という声をよく聞きます)
圧倒的なスピードで増え続けているFirefoxユーザーは、タブブラウザ慣れしてるので、別窓(ctrl+T)にするか同窓(そのままクリック)にするかは、自分で選択できます。なので、わざわざtarget="_blank"が入ってると、強制的に別窓/別タブで開くことになり、あえて同じ場所に開きたいとき困ります。(おそらく…)
target_blankがいいのか、悪いのか、そんなこと議論しても拉致があかないし、既に非推奨だし、現にIEタイプのユーザーもFirefoxタイプのユーザーもいて、多数決ってわけにもいかないので、 要は、ユーザーに選択させてあげられる環境を作ることが、Web制作者に求められているコトなのではないのかと思うのです。…なんて、熱く語ってみました。
というわけで、「別窓blankで開くか、同じ窓selfで開くかユーザーが選択できるjavascript」のご紹介。
サンプル
チェックボックスにチェックを入れると、サンプルリンクは別窓で開き、チェックを外すと同じwindowのまま遷移します。
実はひそかにpx*blogのサイドナビにも、Blog partsのところにやってみたんですけどね。気付いてました?
ソース
「target.js」
target.js内容は、↓
ヘッダー
<script type="text/javascript" src="target.js"></script>
body
<form name="form1" onSubmit="pageJump(this);">
<label for="check1">
<input name="check1" type="checkbox" id="check1" checked="checked" />
リンク先を別ウィンドウで開く
</label>
<a onClick="pageJump(this);" href="http://www.inclover-inc.com/">inclover</a><br />
<a onClick="pageJump(this);" href="http://www.inclover-inc.com/pocket/">clover in pocket</a>
</form>
※選択させたいaリンクに、target="_blank"の代わりにonClick="pageJump(this);"を書いてあげればOK。
動作確認
Windows・Internet Explorer6…○
・Internet Explorer7…○
・Firefox2.0…○
・Opera9…○
Mac OS X 10.4.8
・Safari2.0.4…○
・Internet Explorer5.2…○
・Firefox1.0.7…○
・Netscape7.1…○
参照元
「Web覚書(おぼえがき)」JavaScript サンプル:『別ページに表示するかどうかを選択できるようにしてみる』