Вопрос

Я создал простой скрипт jQuery, который перебирает массив URL-адресов и открывает несколько окон.

Это прекрасно работает на большинстве платформ.

Однако в IE7 и IE8 на клиентском компьютере браузер открывает только одно окно.Ошибок javascript нет.

У меня на ноутбуке такие же версии, и он работает нормально.

Пожалуйста, не мог бы кто-нибудь пролить свет на возможные факторы?

Затронутые машины:XP SP3 - IE 7 Final, Windows 7 IE 8

Мы были бы очень признательны за любую помощь.

Ваше здоровье Пол

Это было полезно?

Решение

Извините, я не могу уследить за вашим однострочным неформатированным кодом.Но следующее работает во всех доступных мне браузерах, включая Firefox 3.5, Opera 10, Chrome 3 и Internet Explorer 6, 7 и 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>

Типичные ошибки, связанные с всплывающими окнами, включают:

  • Назначение идентификаторов Windows и повторное использование одного и того же идентификатора -> Назначить разные идентификаторы (или ни одного, если не требуется)
  • Открытие незапрошенных всплывающих окон -> Позволить пользователю запустить действие

Другие советы

Возможно, там включен блокировщик всплывающих окон

Если я правильно помню, блокировщик всплывающих окон из IE7 + разрешает только одно новое окно для каждого взаимодействия пользователя с javascript, а затем блокирует их.

Не уверен, но присваиваете ли вы каждую новую ссылку на окно переменной?Это создает проблемы, но если вы вводите переменную, она каждый раз получает новую ссылку, и все внутри циклов jquery работает нормально.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top