如何使用jQuery在新窗口中加载页面然后关闭它们?

时间:2014-05-09 12:22:32

标签: javascript jquery

我有一个CMS,为了使这个CMS使用的标签能够工作,我需要加载所有页面,包括一些不能直接在网站上找到的页面。这是一次性的事情,所以它并不重要,但我认为为此制作一个函数会很有趣。

我想创建一个链接,点击后会打开并按顺序加载一系列页面,然后关闭它们。

<a href="#" id="#load">Click here to load the pages!</a>

<script>
    $('#load').click(function() {
        window.open('www.google.ca');
    });
</script>

上面的代码应该打开一个页面,如何添加更多页面?是否可以让脚本关闭页面?

2 个答案:

答案 0 :(得分:1)

var sites = ["www.google.ca", "www.google.com"];

$("#load").click(function(){
    var windows = [];
    for(var i = 0; i < sites.length; i++){
        var wd = window.open("http://" + sites[i]);
        windows.push(wd);
    }
    setTimeout(function(){
        for(var i = 0; i < windows.length; i++){
            windows[i].close();
        }
    }, 1000);
});

JSFIDDLE

但是,正如A. Wolff所说,浏览器会阻止窗口,如果你打开超过1,只有当用户启用该网站的弹出窗口时才会有效。

答案 1 :(得分:1)

您可以声明数组以保存所有窗口。并迭代它关闭如下:

var window_arr = new Array();

<script>

 // Code to open all windows    

  $('#load').click(function() {
    window_arr.put(window.open('www.google.ca'));
  });

// code to close all windows

 for (var window in  window_arr ) {
  window_arr[window].close();
  }