Javascript Window.open выпуск IE7 / IE8 - PullRequest
       19

Javascript Window.open выпуск IE7 / IE8

0 голосов
/ 02 декабря 2009

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

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

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

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

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

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

Любая помощь будет принята с благодарностью.

Приветствие Пол

Ответы [ 4 ]

3 голосов
/ 02 декабря 2009

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

2 голосов
/ 02 декабря 2009

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

1 голос
/ 02 декабря 2009

Извините, я не могу подписаться на ваш однострочный неформатированный код. Но следующее работает во всех доступных мне браузерах, включая 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>

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

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

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

...