Summary

  • O arquivo oficial de notícias da Mozilla cita bloqueio de pop-ups em março de 2003 e melhorias na chegada do Mozilla 1.4, em junho.
  • No IE6 com Windows XP SP2, o navegador distinguia uma janela aberta após o clique do usuário de uma janela lançada apenas pelo script. Hoje, cada window.open() exige seu próprio gesto.

Uma página podia chamar outra janela para a sala sem pedir licença ao ocupante. As notícias antigas da Mozilla mostram a mudança em andamento: março de 2003 já menciona bloqueio de pop-ups; junho registra melhorias com o Mozilla 1.4. O navegador ganhou a função de porteiro. O código continuava pedindo passagem, mas a tela do leitor já tinha alguém na entrada.

O guia de implantação da Microsoft para IE6 e Windows XP Service Pack 2 apresenta o primeiro bloqueador embutido do Internet Explorer e a nova barra de informações. A entrega do SP2 aos fabricantes foi anunciada em 6 de agosto de 2004. A chegada às máquinas dos usuários aconteceu em etapas. A regra mais duradoura estava na pergunta feita imediatamente antes de abrir uma janela.

Segundo a explicação técnica da Microsoft, o IE6 SP2 detectava se alguém havia clicado em um link ou elemento da página. Uma janela surgida depois desse gesto recebia tratamento diferente da janela produzida só pelo script. O pop-up bloqueado aparecia na barra de informações, de onde a pessoa podia optar por abri-lo. O código da página fazia o pedido; o navegador verificava a origem do convite.

A documentação atual da Mozilla sobre window.open() exige resposta direta à ação do usuário e um gesto separado para cada chamada que abre um pop-up. Quando o bloqueador age, a função pode retornar null. O site pode usar esse resultado para oferecer um caminho dentro da própria página. A experiência continua funcionando mesmo quando o porteiro fecha a porta lateral.

O HTML Living Standard descreve a ativação transitória: a marca de uma interação recente dura pouco e pode ser consumida por uma função. Depois, outra chamada requer outro gesto. O consumo alcança quadros aninhados, impedindo que uma página distribua o mesmo clique entre vários iframes e abra uma festa de janelas com um único convite. A permissão acompanha uma ação concreta e tem prazo curto.

O bloqueio mudou os modos da página. Um botão podia convidar a janela prometida. Um desfile iniciado pelo script encontrava a corda do porteiro. window.open() permaneceu na linguagem da Web, acompanhado da pergunta que falta a todo anfitrião inconveniente: quem chamou esse convidado?