コンテンツ上にあるリンク先に飛んだ後、いちいちブラウザの「戻る」操作をするのが面倒なので、リンクを右クリックして「リンクを新しいタブで開く」習慣があります。このブログを自分で見るときも同じことをするのですが、右クリックという操作自体が煩わしくなってきたので、「なんとか自動化できないかなぁ」を思っていました。
エントリ内でリンクを作るときに、
<a href="..." target="_blank">リンク</a>
と、「target=”_blank”」を書いてやれば期待通りに別タブが開かれるものの、むしろ右クリックより面倒。ビジュアルエディタを使っていれば、リンク挿入時にターゲットウィンドウを指定できますが、私はいつもHTMLモードでWordPressの編集をしているので。
私にとっての理想型は、「ブログ内部のリンクは同じタブで開かれて、外部サイトのリンクは別タブで開かれる。」です。
これを実現するためにやったこと。
まず、jQueryをテーマディレクトリ内にダウンロードします。
次にテーマのheader.phpを編集して、wp_head()の直前に以下のコードを追加します。
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/jquery.js"></script> <script type="text/javascript"> //<![CDATA[ $(function() { $("a:not([href^='<?php echo get_settings('home'); ?>'])").attr("target", "_blank"); }); //]]> </script>
「get_settings(‘home’);」の戻り値は「http://h2plus.biz/blog」になるので、「href属性が”http://h2plus.biz/blog”で始まらないaタグの、target属性をすべて”_blank”にする」というものです。
意外と簡単でした。
2008/10/4 at 12:54
[...] 外部サイトのリンクを別タブで開く方法 [...]
2008/11/20 at 17:56
[...] 外部サイトのリンクを別タブで開く方法 [...]