【スマホ用】外部リンクのtarget=”_blank”を取り除いて、新規タブを開かない様にするjQueryスクリプト

スマホでtarget=”_blank”がちょっと鬱陶しい

普段ブログ書いているとあまり意識していなかったのですが、外部リンクにtarget=”_blank”を入れていると、PCブラウザはいいけどスマホで見るといちいちタブが開いてしまい、戻るのがめんどくさいと感じました。
target=”_blank”入れなければいいんだけど、PCだとむしろ肯定派の人が多い気がするんですよね。

だったらスマホの時だけ書き換えればいいじゃない

せっかくなので、久々にJSでも書こうと思い、外部リンクのtarget=”_blank”を取り除くJSスクリプトをパパッと書いてみました。
あ、jQueryは必須です。
[html]
<script type=”text/javascript”>
$(document).ready(function(){
(navigator.userAgent.search(/iP(hone|ad|od)|Android/i)!=-1) && $(“a[href^=http]”).not(“[href*=”+location.hostname+”]”).removeAttr(“target”);
});
</script>
[/html]
navigator.userAgentでユーザーエージェントを取得し、iPhone,iPad,iPod,Androidの文字列が含まれていたら、外部リンクのtarget属性をすべて取り除きます。
PHPで書いても良かったですが、こっちの方がお手軽だったので。ちなみにWordPressテーマのheader.phpに入れて試してみましたが、うまく動いてるのでよし。
※もしコードに誤りなどありましたらご指摘いただけるとありがたいです。実装したいけどやり方わからなければ、コメントいただければ極力お答えしますー。