9月 05
Posted at 11:32 by Hiro

コンテンツ上にあるリンク先に飛んだ後、いちいちブラウザの「戻る」操作をするのが面倒なので、リンクを右クリックして「リンクを新しいタブで開く」習慣があります。このブログを自分で見るときも同じことをするのですが、右クリックという操作自体が煩わしくなってきたので、「なんとか自動化できないかなぁ」を思っていました。

エントリ内でリンクを作るときに、

<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”にする」というものです。
意外と簡単でした。

タグ:

2 Pings to “外部サイトのリンクを別タブで開く方法”

  1. リンクの隣に「はてなブックマーク数」を表示する方法 | H2+ Goes On Says:

    [...] 外部サイトのリンクを別タブで開く方法 [...]

  2. 外部サイトのリンクを別タブで開くブックマークレット | H2+ Goes On Says:

    [...] 外部サイトのリンクを別タブで開く方法 [...]


コメントをどうぞ