0

我创建了一个简单的 JQuery 脚本,它循环遍历一组 url 并打开多个窗口。

这在大多数平台上运行良好。

但是,在客户端机器上的 IE7 和 IE8 中,浏览器只打开一个窗口。不存在 javascript 错误。

我的笔记本电脑上有相同的版本,它工作正常。

请问有人可以阐明潜在因素吗?

受影响的机器:XP SP3 - IE 7 Final、Windows 7 IE 8

任何帮助将不胜感激。

干杯保罗

4

4 回答 4

3

可能启用了弹出窗口阻止程序

于 2009-12-02T10:15:11.953 回答
2

如果我没记错的话,IE7+ 的弹出窗口阻止程序只允许每个用户在 javascript 中交互一个新窗口,然后阻止它们。

于 2009-12-02T10:15:54.090 回答
1

不确定,但您是否将窗口的每个新引用分配给变量?这会产生问题,但如果你放置一个变量,它每次都会获得新的引用,并且 jquery 循环内的东西工作正常。

于 2009-12-02T10:15:21.283 回答
1

抱歉,我无法按照您的单行无格式代码进行操作。但以下内容在我可用的所有浏览器中都有效,包括 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>

与弹出窗口相关的典型错误包括:

  • 为窗口分配 ID 并重复使用相同的 ID -> 分配不同的 ID(如果不需要,则不分配)
  • 打开未请求的弹出窗口 -> 让用户触发操作
于 2009-12-02T12:23:07.703 回答