外部リンクを別窓で開くJS

Category

JavaScript/Ajax

投稿日

2008/08/09 - 12:31

ブックマーク

リンクで外部リンクは別窓で開くことは結構多いと思いますが、target属性は非推奨となっています。まぁ「そう、関係ないね。」って感じでバンバンtarget属性使ってるサイトも山ほどあるわけですが。
今回作ったのは、Validじゃないとヤダ!でも外部は別窓のがイイ!って人のため(ていうか私ですけど。)のJSです。

使い方も何もあったもんじゃないですけど、一応使い方。

JSを読み込みます。

<script type="text/javascript" src="js/external.js"></script>

終わり。
これでaタグのhref属性がhttpで始まる場合は別窓で開くようになります!カンタンダネ!
が、しかし、MTとかだとパーマリンクとかも絶対パスで書かれちゃうので、自ドメインの場合は別窓にならないようにする必要があります。これのやり方もカンタンです。

上記のJSの13行目あたりに下記のように別窓で開きたくないドメインを入れます。

var myDomain = [new RegExp("http://xxx.com","i"),new RegExp("http://yyy.com","i")];

何個もある場合は、new RegExp()って部分をどんどん増やしていけば良い。また、オマケとして、aタグにclass:externalが付与されます。アイコンとかを付ける場合は、CSSで。

使用例
対象ブラウザ
  • WindowsIE5.5,6,7
  • Firefox2以上
  • Opera9.25以上
  • Safari2以上

JavaScriptが無効な場合は、別窓は開かずに普通に遷移します。

JSファイル

This Entry's Tag
javascript,sample

Trackback URI

http://mk-t-lab.com/mt/mt-tb.cgi/18

Post Your Comment

コメント投稿フォーム