IMUZA.com

Xserver<<WordPress(ConoHa)<<はてなブログ

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

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

2016/07/14 javascript, はてなブログ

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

数ページ見ただけですが、素の 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 が追加され、別ウィンドウ(タブ)で開くようになります。

VAIO VGN-NW71FB ハードディスク換装
Joomla! 3.6 正式リリース! アップデートしてねとサイトから自動メールがきたよ!
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2023/05/25

WordPress:リビジョン削除、回数制限

2023/05/10

WordPress:裏技的サイトリニューアル

2023/04/28

XserverへのSSH接続がエラーになってしまった

2023/04/16

正規表現の最短一致でミスる

2023/04/4

WordPress:公開中サイトをサブディレクトリでリニューアルし公開する

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ215
  • WebTips109
  • javascript98
  • Joomla!88
  • Wordpress70
  • Windows68
  • CSS63
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Google34
  • Plamo33
  • はてなプラグイン25
  • php23
  • Node.js18
  • Ubuntu16
  • SASS16
  • laravel415
  • Chrome11
  • cms-style10
  • iPhone9
  • Git入門6
  • ConoHa WING6
  • genesis6
  • Python5
  • Android5
  • PC全般4
  • Facebook4
  • スマートフォン4
  • Xserver3
  • Firefox3
  • 静的サイトジェネレーター3
  • SSD3
  • Docker3
  • Blankslate3
  • Twitter2
  • Mactype2
  • GitHub2
  • youtube1
  • はてなブクマ1
  • rails入門1
  • 映画1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Related Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2023 · IMUZA.com