RedmineのチケットやWikiなどで外部サイト(Redmineとは異なるドメイン)へのリンクの場合、新しいウィンドウで開く設定を行います。
今回はView Customizeプラグインを利用して実装します。インストール方法などは以下の記事をご覧ください。 blog.katsubemakito.net
設定する
Redmine4.1で動作確認をしています。
パス・プロジェクトのパターン、挿入位置、種別
- 「パスのパターン」
- .*
- 「プロジェクトのパターン」
- 全プロジェクに反映する場合は空欄に。
- 「挿入位置」
- 全ページのヘッダ
- 「種別」
- JavaScript
コード
コード欄には以下のようなJavaScriptを入力します。
$(document).ready(function(){ $("a.external").each(function(){ // 別窓で開く $(this).attr("target", "_blank") // noopenerを追加する const rel = $(this).attr("rel") if( rel === undefined ){ $(this).attr("rel", "noopener") } else{ $(this).attr("rel", ["noopener", rel].join(" ")) } }); })
Redmineでは外部へのリンクは自動的に<a class="external">
といったようにexternal
クラスが付与されているので、これを利用するのが楽チンです。最終的に以下のように変換されます。
<!-- Befor --> <a hreh="https://google.com" class="external">Google</a> <!-- After --> <a hreh="https://google.com" class="external" target="_blank" rel="noopener">Google</a>
noopenerは詳細は端折りますがフィッシング対策などを目的として付与しています。またウィンドがガンガン立ち上がるのが嫌な場合は_blank
の箇所をsubwindow
など適当な文字列に変更してください。
またREFERERを送出しない設定も同時にしておくと良いかもしれませんね。 blog.katsubemakito.net