Escrever este artigo não é para dizer aos anunciantes de spam que eles podem exibir anúncios ou ocultar janelas pop-up em segundo plano, mas para lembrar a todos que ainda existem alguns recursos no kernel do IE que podem contornar a função de bloqueio de anúncios da maioria dos navegadores baseados. no IE, e mesmo ignorando o próprio navegador, uma janela real do Internet Explorer aparece diretamente. Claro que nem todos, alguns estão se saindo melhor, como Maxthon Embora uma nova janela seja aberta, ela ainda existe no Maxthon, em vez de aparecer um IE em segundo plano, mas TT, The World, etc. com alguns navegadores e pode ser aberto diretamente como uma nova janela do IE. Desde os tempos antigos, uma coisa foi suprimida e espero que haja uma solução correspondente.
O princípio é simples. A função de bloqueio de anúncios pop-up da maioria dos navegadores bloqueia a função window.open. Claro, existem algumas ferramentas e softwares que podem bloquear as funções showModalDialog e showModalessDialog, e a função de classe showModal pode abrir uma janela modal, desde que possa ser executada. O IE encapsula completamente esta função, portanto, a execução de window.open() na função de classe showModal não pode ser bloqueada.
Portanto, se você conhece esse princípio, você mesmo pode escrever alguns javascript e usá-los.
1. Use showModalDialog para abrir uma página específica
2. Não há necessidade de ter conteúdo na página especificada. Você só precisa executar window.open() para abrir uma nova janela.
3. Após abrir esta janela, feche-a na janela modal (window.close())
Desta forma, a janela que deseja abrir pode ser aberta indiretamente através da janela modal.
Código relacionado:
Código na página principal:
<script language=javascript>
//Abre janela modal
função showDialog(dialogUrl){
var sUrl = dialogUrl;
var sFeathers = "ajuda:desligado;redimensionável:desligado;rolar:não;status:desligado";
//sUrl=sUrl
window.showModalDialog(sUrl,"",sFeathers);
}
//Abre a URL especificada
função openUrl(sUrl){
//endereço do arquivo da janela modal
var dialogUrl = "txdialog.htm";
//Adicione parâmetros aleatórios para forçar a atualização, o que não é necessário aqui.
dialogUrl += "?r=" + Math.random()*100000;
dialogUrl += "&url=" + sUrl;
showDialog(dialogUrl);
}
</script>
código de teste
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<cabeça>
<title>Sem título</title>
</head>
<body>Por favor, insira o URL da janela que deseja abrir:
<input type="text" name="txtUrl" id="txtUrl" value=" http://senyx.cnblogs.com ">
<input type=button onclick="openUrl(txtUrl.value)" value='test'>
</body>
</html>
Coloque o seguinte código na página onde a janela modal está localizada (txdialog.htm):
<linguagem de script=javascript>
functionRequest(strNome)
{
var strHref = localização.href;
var intPos = strHref.indexOf("?");
var strRight = strHref.substr(intPos + 1);
var arrTmp = strRight.split("&");
for(var i = 0; i < arrTmp.length; i++)
{
var arrTemp = arrTmp[i].split("=");
if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
}
retornar "";
}
var sUrl = Request("url");
//alerta(sUrl);
janela.open(sUrl);
janela.close();
</script>
Download de exemplo:
http://fanrsh.cnblogs.com/articles/280189.html