Detectar pop-up bloqueado no Chrome
Estou ciente das técnicas de javascript para detectar se um pop-up está bloqueado em outros navegadores (como descrito em a resposta a esta pergunta). Aqui está o teste básico:
var newWin = window.open(url);
if(!newWin || newWin.closed || typeof newWin.closed=='undefined')
{
//POPUP BLOCKED
}
Mas isso não funciona no Chrome. A seção "POPUP BLOCKED" nunca é alcançada quando o pop-up é bloquead
Certamente, o teste está funcionando até certo ponto, pois o Chrome não bloqueia o pop-up, mas o abre em uma pequena janela minimizada no canto inferior direito, que lista os pop-ups "bloqueados"
O que eu gostaria de fazer é saber se o pop-up foi bloqueado pelo bloqueador de pop-ups do Chrome. Eu tento evitar o sniffing do navegador em favor da detecção de recursos. Existe uma maneira de fazer isso sem o navegador cheirar?
Edita: Agora tentei usar onewWin.outerHeight
, newWin.left
e outras propriedades semelhantes para fazer isso. O Google Chrome retorna todos os valores de posição e altura como 0 quando o pop-up é bloquead
Infelizmente, ele também retorna os mesmos valores, mesmo que o pop-up seja realmente aberto por um período desconhecido. Após um período mágico (alguns segundos nos meus testes), as informações de localização e tamanho são retornadas como os valores corretos. Em outras palavras, ainda não estou mais perto de descobrir isso. Qualquer ajuda seria apreciada