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

How to use jQuery to load pages in new window in order then close them?

本文关键字:然后 加载 jQuery 何使用 新窗口 窗口      更新时间:2023-09-26

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

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

<a href="#" id="#load">Click here to load the pages!</a>
<script>
    $('#load').click(function() {
        window.open('www.google.ca');
    });
</script>

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

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个,浏览器就会阻止窗口,只有当用户为网站启用弹出窗口时才会起作用。

你可以声明数组来保存所有的窗口。并像下面这样迭代它以关闭:

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();
  }