Добавляйте к ссылкам с target="_blank"
атрибут rel="noopener noreferrer"
, чтобы открытая вкладка (или окно) браузера не имели доступ к родительской вкладке (это нарушает безопасность). Ссылка на глобальный объект родительской вкладки лежит в window.opener
. noopener
в атрибуте rel
принудительно обнуляет значение window.opener
для открываемых вкладок; это работает с 49 версии Хрома и 36 версии Оперы. Для более старых браузеров нужно добавлять noreferrer
— это тоже обнуляет window.opener
, но также предотвращает отправку заголовка Referer
(это может негативно сказаться на сборе статистики переходов). Подробное объяснение и демо.
Кроме того, согласно исследованию Джейка Арчибальда, отсутствие rel="noopener"
в некоторых случаях плохо сказывается на производительности.