【Javascript】外部リンクに target=_blank を付ける


external-link-orange-dark03-Shapes4FREE.png

リンクがブログの外のものだったら target=_blank を付けて新しいタブで開くようにする jQuery コード。


$('.entry-content a[href^=http]')
    .not('[href*="' + location.hostname + '"]')
    .prop({target: '_blank'})
    .addClass('exlink')
;

ついでに exlink なるクラスも付加しています。以下のサイトを参考にしましたが、そのままでは動きませんでした。jQuery のバージョンの違いかね?

外部サイトへのリンクに target=_blank 属性を追加(jQuery) – せんむの技術ブログ
http://www.shikidahironori.jp/music/2011/01/target-blankjquery.html

おまけ

そもそも HTML4 〜 XHTML1.0 の時代は リンクを開くとき新しいウィンドウ(タブ)を使うかどうか利用者が決めるべき なんて言って HTML の仕様から target 属性が消えたりしました。

それが HTML5 の仕様では復活してます。まあ今時タブブラウザを使ってない方が少数派(スマートフォンを含んだとしても)ですもんね。

コメントを残す