aタグのtarget="_blank"とは、リンク作成時に新規ウィンドウで開くときに使用する属性です。
実際に書いてみると、こんな感じ
<a href="https://d1gk62opoknolq.cloudfront.net" target="_blank">リンク</a>
これを実装し、クリックすると、新規ウィンドウでtook.jpのサイトが開かれます。
では、問題点についてみていきましょう。
問題点
1.パフォーマンスの低下
リンク先サイト と リンク元サイトは同じプロセスで動作しているため、リンク先サイトで高負荷のjavascriptが実行された場合、リンク元のパフォーマンスも落ちてしまう。
2.リンク元サイトのURLを書き換えられる
これは、わかりにくいので、実際に試してみましょう。
※ごめんなさい。現在は非公開にしています。
クリックすることで、新規タブでSampleページが開き、現在のタブは、took.jpのトップページに変わったはずです。
これは、リンク先サイトで、
<script>
window.onload = function() {
window.opener.location = 'https://d1gk62opoknolq.cloudfront.net';
}
</script>
というスクリプトを実行させているからです。
リンク先が信用できるサイトなら良いですが、信用できないサイトの場合は、リンク元のサイトを操られる可能性があるので、危険です。
解決法
rel=”noopener”をつける。
これだけです。
実際に書くと、こんな感じ。
<a href="https://d1gk62opoknolq.cloudfront.net" target="_blank" rel="noopener">リンク</a>
以下のサイトを参考にしました。
https://developers.google.com/web/tools/lighthouse/audits/noopener?hl=ja