JQueryで外部へのリンクにtarget=_blankを指定

On 2009年12月3日, in その他, by y.nishimura

検索エンジン大手のY社には、Yahooカテゴリ登録というサービスがあります。より多くのお客様に、キバンインターナショナルを知ってもらうために、カテゴリ登録申請を出していたのですが、「外部サイトへのリンクにtarget=_blankが指定されていない。」という理由で申請が保留されてしまいました。既に1000ページ近いコンテンツがあることを考えると、1つ1つのリンクを手で修正するのは困難です。そこで、JQueryを使って、外部サイトへのリンクにtarget=_blankを指定するプログラムを作成してみました。

<script src=”http://www.google.com/jsapi”></script>
<script>
if(typeof jQuery === “undefined”)google.load(“jquery”, “1.3.2″);
</script>
<script>
$(document).ready( function () {
var domain = location.href.match(/^https?(:\/\/[a-zA-Z0-9.]+)\//i)[1];
$(‘a[href^=http]‘).not(‘[href*="'+domain+'"]‘).attr(‘target’,'_blank’);
})
</script>

1行目~4行目:  jQueryが定義されていない場合に、jQueryをインポートします。
7行目: 現在のURLから、ドメイン部分だけを切り出します。
8行目: Aタグの中で、href属性にhttpで始まるURLが指定されており、そのアドレスが同一ドメインのものでない場合に、target属性に_blankを設定します。

弊社では、サイトの大半をWordpressで構築しているので、近日中にWordpressのプラグイン化することになりそうです。

Tagged with:
 

4 Responses to “JQueryで外部へのリンクにtarget=_blankを指定”

  1. [...] JQueryで外部へのリンクにtarget=_blankを指定 JQueryで外部へのリンクにtarget=_blankを指定 [...]

  2. [...] JQueryで外部へのリンクにtarget=_blankを指定という記事を昨夜投稿したのですが、Wordpressのプラグインに加工して欲しいとのお問い合わせを多数いただきましたので、さっそく作成致しまし [...]

  3. [...] This post was Twitted by tsutomura [...]

  4. [...] そこで、「JQueryで外部へのリンクにtarget=_blankを指定」を作成したのですが、このままではWordpressに組み込むのが大変です。そこで、Wordpressのプラグインとしてまとめました。古い記事に [...]

Leave a Reply



Get Adobe Flash playerPlugin by wpburn.com wordpress themes