セキュリティについての問題点
window.openerを使用することで、親ウィンドウのオブジェクトにアクセスを行ったり、window.opener.location = newURL によって親ページのURLを書き換えることができる問題がある
悪意をもったJavaScriptが記載されていたら、リンク元であるページを好き勝手に改ざんできてしまう可能性が考えられる
パフォーマンスについての問題点
target=”_blank” を使って別のページにリンクを貼っている場合、リンク元のページとリンク先のページは全く同じプロセスを通して実行され、リンク先のページで高い負荷を与えるJavaScriptが実行されていると、リンク元のページにも悪影響を及ぼしパフォーマンスが低下する問題が指摘されている
target=”_blank”の問題への対処法
- noopenerの指定
- noreffererの指定
noopener を指定することで、リンク先からwindow.openerを使ってリンク元が参照できなくなる
noreffererを指定することで、リンク先にリンク元のリンク情報が送られないようになる
<a href="リンク先" target="_blank" rel="noopener noreferrer">文字</a>