Javascript函数两个打开的窗口不工作



我知道这是一个多余的问题,但谷歌上的那些文章并没有真正帮助我,因为我想我的方法不同,但现在是这样,两个打开的窗口即使我循环它也不起作用。我只收到数组的第一项,即facebook.com

var link = function (){
var websites = ['www.facebook.com', 'www.google.com']
for(var x = 0; x < websites.length; x++){
window.open(websites[x])
}
}

我也试过这个:

var link = function (){

window.open('www.facebook.com')
window.open('www.google.com')
}

同样的结果,给了我fb.com

首先,在数组内的url字符串中使用https协议。其次,对于循环中的每个元素,使用window.open()传递第二个参数"_blank"来分别打开新选项卡中的URL。

function link () {
var websites = ['https://www.facebook.com', 'https://www.google.com']
for (var x = 0; x < websites.length; x++) {
var website = websites[x];
window.open(website, "_blank");
}
}
link();

测试地点:

https://jsbin.com/fezolavepa/edit?js,控制台

通常情况下,您编写的代码应该可以工作,但之所以不能工作,是因为浏览器检测到弹出窗口。

你可以查询用户为你的网站禁用弹出窗口,以获得完整的功能

或者你可以用这个代替

var link = function (){
var websites = ['www.facebook.com', 'www.google.com']
for(var x = 0; x < websites.length; x++){
setTimeout(() => {window.open(websites[x], '_blank)}, 2000)
}

我希望这能解决你的问题

最新更新