将存储在数组中的 url 传递给 window.open in for loop - Javascript

Pass urls stored in array to window.open in for loop - Javascript

本文关键字:in open window for loop Javascript 数组 存储 url      更新时间:2023-09-26

我正在尝试单步执行一个数组并将存储在那里的URL传递给window.open函数。这就是我所拥有的。

$('a.linked').click(function(e) {
    e.preventDefault();
    var i;
    var urls = ['http://example.com', 'http://example2.com', 'http://example3.com'];
    for (i = 0; i < urls.length; i++) {
      var ts = i*3500;
      setTimeout(function(){window.open(urls[i]); }, ts);
  }
});

这是在正确的时间打开新窗口,但我正在得到:空白。我想这可能没有转义引号。

重复的答案说我正在失去i值 但是,当我删除 setTimeout 时,我得到了所有带有 正确的网址。下面的代码演示了不丢失 i 的值。

$('a.linkedinProfiles').click(function(e) {
    e.preventDefault();
    var i;
    var urls = ['http://example.com', 'http://example2.com', 'http://example3.com'];
    for (i = 0; i < urls.length; i++) {
    var ts = i*3500;
    {window.open(urls[i]); };   
    } });

我知道这一定是我所缺少的简单东西。提前谢谢。

可能

不是完整的解决方案,但您可以尝试在URL的开头添加"http://"。目前,它们将作为相对链接打开。