サイト内部のリンクについては、別ウィンドウで開く…ってあんまりないんですが、
サイトによってはすべてのリンクがすべて[target=”_blank”]だったらいいのに~!って思うことありませんか?
サイト内のすべてのリンクに手書きで[target=”_blank”]って書いていくのは大変ですよね?
もちろんJSなどで対応することはできるのですが、めんどくさい笑
そこで今回は『一行かくだけで!すべてのリンクをtarget=”_blank”にする方法』をご紹介します。
やり方はいたって簡単!下記のようにhead内に一行記述するだけです!
<head> <base target="_blank"> </head>
この[base]というタグは基本的にhead内に記述することで以下のような機能を果たします。
1.基準URLを指定できる
2.基準ターゲットを指定できる
他にも以下のような指定ができます。
_self
同タブに表示
_parent
分割ウィンドウの親フレームに表示
_top
分割ウィンドウを全て解除して表示
ただ一点気を付けないといけないことが、target=’_blank’にはセキュリティ脆弱性が存在するということ。
_blank先のサイトで重いスクリプトが駆動すると元サイトのリソースも食ってパフォーマンスが落ちる、親ウィンドウのオブジェクトにアクセスされてしまう
などがあります。
これらに対応するためには、全ての_blankのタグにrel=”noopener”を追加すればOKなのですが
安全なサイトに対しては、処理を重くしたくないので追加したくないですよね。
ということで以下に@ahya_emon様がコピペするだけで使える、別サイトに対するリンクに対してだけrel=”noopener”を追加するスクリプト
を紹介してくれています!
https://qiita.com/ryuta69/items/7eaa5d07fc2e6f8933ad#comment-ca4c1bae3445d5344d2b
みなさんもぜひ使って作業を効率化してみてください!