For循环打开网址

4

我正在使用for循环打开多个URL,但它只打开数组中的第一个项目。我尝试了for ( i in array),但结果相同。

    <HTML>

<HEAD>

<SCRIPT LANGUAGE="JavaScript">

function launchproducts (form) {

var input_from_user = form.inputbox.value;

var product_numbers;

product_numbers = input_from_user.split(";",100000);


for ( var i = 0; i < product_numbers.length; i++) {
     launch_code = "http://www.youtube.com/results?search_query=" + product_numbers[i];

 window.open(launch_code, '_blank');

    }
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myform" ACTION="" METHOD="GET">Enter product numbers: <BR>
<INPUT TYPE="text" NAME="inputbox" VALUE=""><P>
<INPUT TYPE="button" NAME="button" Value="Click" onClick="launchproducts(this.form)">
</FORM>
</BODY>
</HTML>

当我输入分号分隔的数据时,它对我有效。请解释应该发生什么? - Salman
ID在Chrome中似乎无法工作,有没有办法让它工作或者需要更改设置? - Nicolaid
在我的情况下,Chrome将其阻止为弹出窗口,但除此之外它是有效的! - Salman
我刚刚花了一个小时解决同样的问题,结果发现是弹出窗口拦截器的问题。 - miara
1个回答

1

Try this :

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function launchproducts (form) {
var input_from_user = form.inputbox.value;
var product_numbers;
product_numbers = input_from_user.split(";",100000);
for ( var i = 0; i < product_numbers.length; i++) {
     var launch_code = "http://www.youtube.com/results?search_query=" + product_numbers[i];
     var go = confirm("Launch next ? (" + product_numbers[i] + ")");
     if (go) {
         window.open(launch_code, '_blank');
     }
  }
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="myform" ACTION="" METHOD="GET">Enter product numbers: <BR>
<INPUT TYPE="text" NAME="inputbox" VALUE=""><P>
<INPUT TYPE="button" NAME="button" Value="Click" onClick="launchproducts(this.form)">
</FORM>
</BODY>
</HTML>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接