Pregunta

He creado un simple script de jQuery que recorra una serie de direcciones URL y abre varias ventanas.

Este es el trabajar muy bien en la mayoría de las plataformas.

Sin embargo, en IE7 e IE8 en la máquina de un cliente del navegador se abre solamente una sola ventana. No hay errores de JavaScript están presentes.

Tengo las mismas versiones en mi portátil y funciona bien.

Por favor, alguien podría arrojar alguna luz sobre los factores potenciales?

máquinas afectadas: XP SP3 - IE 7 final, Windows 7 IE 8

Cualquier ayuda sería muy apreciada.

Saludos Paul

¿Fue útil?

Solución

Lo siento, no puedo seguir su sola línea de código sin formato. Pero la siguiente funciona en todos los navegadores que tienen disponibles, incluyendo Firefox 3.5, Opera 10, Chrome 3 e Internet Explorer 6, 7 y 8:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="es">
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript"><!--
function openLinks(){
    var linkList = [
        "http://www.google.es",
        "http://www.yahoo.com",
        "http://www.bing.com",
        "http://stackoverflow.com",
        "http://serverfault.com/"
    ];

    $(linkList).each(function(){
        window.open(this);
    });
}
//--></script>
</head>
<body>

<input type="button" onclick="openLinks()" value="Open lots of links">

</body>
</html>

Los errores típicos relacionados con las ventanas emergentes incluyen:

  • La asignación de identificadores de ventanas y reutilizar el mismo ID -> Asignar diferentes ID (o ninguno si no es necesario)
  • Abrir ventanas emergentes no solicitadas -> Deja que el usuario desencadenar la acción

Otros consejos

Puede haber un bloqueo de ventanas emergentes habilitado

Si no recuerdo mal, el bloqueador de elementos emergentes de Internet Explorer 7 + permite sólo una nueva ventana por la interacción del usuario en Javascript, y entonces bloquea ellos.

No es seguro, pero se le asigna cada nueva referencia de una ventana a una variable? Esto crea problemas, pero si se pone una variable, se hace referencia nueva cada vez y las cosas dentro de bucles jquery funcionan bien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top