読者です 読者をやめる 読者になる 読者になる

IMUZA.com

Joomla!によるウェブ制作, PHP, Javascript, CSS

はてなブログ

はてなブログ テーマ制作
・とことこ with Menubar
・Simple Responsive with Menubar
・Mobile-First Responsive
・Hyperspace

Joomla!

Joomla! によるウェブ制作
・テンプレート自作
・モジュール自作
・Joomla!でサイト構築

Web Tips

ウェブサイトづくりに役立つかも
・Javascript
・CSS

Windows, Linux

Windows10
Plamo Linux

はてなブログのリンクを素の Javascript で別ウィンドウに開く(jQuery なし)

はてなブログ

はてなブログのリンクは、標準ですと、外部リンクでも同じウィンドウで開きます。設定で変更することもできませんので、ググりますと、別ウィンドウで開くスクリプトがたくさんヒットします。

数ページ見ただけですが、素の Javascript で書かれたものがありませんでしたので書いてみました。


<script>
window.onload = function(){
  var reg = new RegExp('^http(s)?://(?!' + location.hostname + ')');
  Array.prototype.forEach.call(document.querySelectorAll('a'), function(node) {
    if(reg.test(node.href)) node.setAttribute('target', '_blank');
  });
};
</script>


(2016/9/6)querySelectorAll よりも getElementsByTagName の方が高速のようです。

<script>
window.onload = function(){
  var reg = new RegExp('^http(s)?://(?!' + location.hostname + ')');
  Array.prototype.forEach.call(document.getElementsByTagName('a'), function(node) {
    if(reg.test(node.href)) node.setAttribute('target', '_blank');
  });
};
</script>


設定 > 詳細設定 > headに要素を追加 に入れるか、デザイン > カスタマイズ で HTML がかけるところに入れれば、リンクのうち外部リンクのみ target=_blank が追加され、別ウィンドウ(タブ)で開くようになります。