如何下载使用javascript动态生成的文件列表?

时间:2013-02-17 00:41:12

标签: javascript url for-loop

我正在尝试创建并遍历指向动态生成的XML文件的链接列表。

这是我正在使用的代码。 。 。我已经更改了网址:

    function scanSystem() {
    // Starting value for scans
        var xMin = '0';
        var yMin = '0';
    // Temporary - The highest coordinates that will be scanned
        var coordMax = '19';

        for (var x = xMin; x <= coordMax; x++) {
            for (var y = yMin; y <= coordMax; y++) {
                var url = "http://www.xmlurl.com/members/scanners/list.php?cockpit&xml&x=" + x + "&y="+ y;
                var link = "<a href='" + url + "'>(" + x + "," + y + ")</a><br>";
                $("#links_container").append(link);
                document.getElementById('iframe').src = url;
            }
        }
    }

链接生成并填充div(此时更多是调试函数),但实际上只通过iframe下载了最后一个链接。

任何想法如何让它开始下载其他文件?

2 个答案:

答案 0 :(得分:0)

不要在iframe中打开网址,只需使用window.open打开它们即可。如果只下载文件,大多数浏览器会立即关闭新窗口。

答案 1 :(得分:0)

一种方法是为每个链接动态创建一个隐藏的iframe,而不是打开新的窗口(这会很烦人)。每个iframe都将单独加载每个文件。

利用您已经使用的jQuery,这里是示例代码:

function scanSystem() {
  var x
    , y
    , coordMax = 19
    , url
    , linksContainer = $("#links_container")
    ;

  for (x = 0; x <= coordMax; x++) {
    for (y = 0; y <= coordMax; y++) {

      url = 'http://www.xmlurl.com/members/scanners/list.php?cockpit&xml&x=' + x + '&y=' + y;
      $('<a/>',{
          href : url
        })
        .text(x+','+y)
        .appendTo(linksContainer);

      $('<iframe/>',{
          src : url
        })
        .appendTo('body');
    }
  }
}