Just do IT

思うは招く

Rinku gem で リンクに rel="noopener noreferrer"属性を付与したい

URLやemailの文字列をリンクにしてくれる便利な Rinku gem。

vmg/rinku: Autolinking. Ruby. Yes, that's pretty much it.

target _blank属性を付与できるのは公式ドキュメントからわかっていたが、rel="noopener noreferrer"属性もセキュリティのために付与したかった。

結論をいうと、以下の方法で付与できた。

= raw Rinku.auto_link(h(@article.url), :urls, 'target="_blank" rel="noopener noreferrer"')

こんな書き方だとエラーを吐き出す。

= raw Rinku.auto_link(h(@article.url), :urls, 'target="_blank"', 'rel="noopener noreferrer"')

つまり、第3引数の中にまとめて書けということだった。

追記:Chrome88以降では“target=_blank”なリンクは“rel=noopener”が付いているものとして扱われる

“target=_blank”なリンクは“rel=noopener”が付いているものとして扱われる

とのことです。

新規タブリンクの恐ろしい仕様、Chrome 88で変更へ ~Safari/Firefoxに合わせた安全な仕様に - やじうまの杜 - 窓の杜