8 pontos por xguru 2020-11-16 | 3 comentários | Compartilhar no WhatsApp
  • Ao abrir uma nova janela com target="_blank", o comportamento foi alterado para funcionar como se rel="noopener" fosse aplicado à força, evitando um problema de segurança que permitia acessar a página de origem

  • O Safari já havia aplicado isso em 2018

  • Um desenvolvedor do MS Edge adicionou esse recurso ao Chromium, então ele passa a valer para todos os navegadores como Edge/Chrome/Brave

  • Já foi adicionado ao Chrome Canary e o lançamento oficial está previsto para o Chrome 88, que sai em janeiro de 2021

3 comentários

 
sduck4 2020-11-16

Parece que, para acessar a janela pai a partir de uma nova janela como antes, agora é preciso adicionar o atributo rel="opener" na tag a.

Em sites que não recebem manutenção, isso pode acabar causando alguns problemas ao usar essa funcionalidade.

 
dua804 2020-11-17

Pessoalmente, para integração entre a janela pai e a janela filha, eu costumo abrir o popup da seguinte forma.

var childWin = window.open("", "childWin");

childWin.location.href = "https://news.hada.io";;

Fazendo assim, mesmo que a página mude tanto na janela pai quanto na janela filha, ainda é possível controlar uma à outra.

Costumo usar isso ao abrir o player em um popup.

 
xguru 2020-11-16

Esse problema acontece quando, ao abrir uma nova janela, o JavaScript da nova URL, se agir de má-fé, pode redirecionar a página original para outro lugar, como um site de phishing.

Isso pode ocorrer em sites onde o usuário pode cadastrar URLs no corpo do texto, comentários etc.

Para evitar isso, é recomendável adicionar rel="noopener" ao usar target a partir de agora.

  • No GeekNews, não aplicamos isso porque não há abertura em nova janela. ^^;