Escribir este artículo no es para decirles a los anunciantes de spam que pueden mostrar anuncios u ocultar ventanas emergentes en segundo plano, sino para recordarles a todos que todavía hay algunas características en el kernel de IE que pueden eludir la función de bloqueo de anuncios de la mayoría de los navegadores. en IE, e incluso sin pasar por el navegador, aparece directamente una ventana real de Internet Explorer. Por supuesto, no a todos, a algunos les va mejor, como Maxthon, aunque se abre una nueva ventana, todavía existe en Maxthon, en lugar de mostrar un IE en segundo plano, pero TT, The World, etc. con algunos navegadores y se puede abrir directamente como una nueva ventana de IE. Desde la antigüedad, se ha suprimido una cosa y espero que haya una solución correspondiente.
El principio es simple. La función de bloqueo de anuncios emergentes de la mayoría de los navegadores bloquea la función window.open. Por supuesto, existen algunas herramientas y software que pueden bloquear las funciones showModalDialog y showModalessDialog, y la función de clase showModal puede abrir una ventana modal siempre que pueda ejecutarse. IE encapsula completamente esta función, por lo que no se puede bloquear la ejecución de window.open() en la función de clase showModal.
Entonces, si conoce este principio, puede escribir algunos javascript usted mismo y usarlo.
1. Utilice showModalDialog para abrir una página específica
2. No es necesario tener contenido en la página especificada. Solo necesita ejecutar window.open() para abrir una nueva ventana.
3. Después de abrir esta ventana, ciérrela en la ventana modal (window.close())
De esta forma, la ventana que desea abrir se puede abrir indirectamente a través de la ventana modal.
Código relacionado:
Código en la página principal:
<script language=javascript>
//Abrir ventana modal
función mostrarDialog(diálogoUrl){
var sUrl = URL del diálogo;
var sFeathers = "ayuda: desactivado; redimensionable: desactivado; desplazamiento: no; estado: desactivado";
//dirección = URL
window.showModalDialog(sUrl,"",sFeathers);
}
//Abre la URL especificada
función URL abierta (URL) {
//dirección del archivo de ventana modal
var dialogUrl = "txdialog.htm";
//Agregue parámetros aleatorios para forzar la actualización, lo cual no es necesario aquí.
dialogUrl += "?r=" + Math.random()*100000;
URL del diálogo += "&url=" + URL;
showDialog(diálogoUrl);
}
</script>
código de prueba
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transicional//ES">
<html>
<cabeza>
<título>Sin título</título>
</head>
<body>Ingrese la URL de la ventana que desea abrir:
<tipo de entrada="texto" nombre="txtUrl" id="txtUrl" valor=" http://senyx.cnblogs.com ">
<tipo de entrada=botón onclick="openUrl(txtUrl.value)" valor='prueba'>
</cuerpo>
</html>
Coloque el siguiente código en la página donde se encuentra la ventana modal (txdialog.htm):
<lenguaje de escritura=javascript>
solicitud de función (nombre de cadena)
{
var strHref = ubicación.href;
var intPos = strHref.indexOf("?");
var strRight = strHref.substr(intPos + 1);
var arrTmp = strRight.split("&");
para(var i = 0; i < arrTmp.length; i++)
{
var arrTemp = arrTmp[i].split("=");
if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
}
devolver "";
}
var sUrl = Solicitud("url");
//alerta(dirección URL);
ventana.abierta(dirección URL);
ventana.cerrar();
</script>
Descarga de ejemplo:
http://fanrsh.cnblogs.com/articles/280189.html