Javascript 一次单击即可打开10个选项卡
我是Javascript新手。我尝试用相同的链接打开10个新选项卡,但当我运行代码并单击按钮时,它只打开一个带有此url的选项卡。请告诉我如何在js中做到这一点 代码如下:Javascript 一次单击即可打开10个选项卡,javascript,Javascript,我是Javascript新手。我尝试用相同的链接打开10个新选项卡,但当我运行代码并单击按钮时,它只打开一个带有此url的选项卡。请告诉我如何在js中做到这一点 代码如下: <button onclick="virus()" type="button" name="button" >Start your Magic!</button> <script> function vir
<button
onclick="virus()"
type="button"
name="button"
>Start your Magic!</button>
<script>
function virus() {
for(var i = 0; i < 10; i++) {
window.open("https://www.w3schools.com/js/js_jquery_selectors.asp");
}
}
</script>
开始你的魔法吧!
功能病毒(){
对于(变量i=0;i<10;i++){
窗口打开(“https://www.w3schools.com/js/js_jquery_selectors.asp");
}
}
本stackoverflow线程对此进行了详细讨论:
长短不一的是,现代浏览器似乎不允许这样做。首先确保允许从chrome中像附加图像一样“弹出和重定向”
第二,尝试将代码包装为超时,如:
for (var i = 0; i < 10; i++) {
setTimeout(() => {
window.open("https://www.w3schools.com/js/js_jquery_selectors.asp" );
}, 200);
}
for(变量i=0;i<10;i++){
设置超时(()=>{
窗口打开(“https://www.w3schools.com/js/js_jquery_selectors.asp" );
}, 200);
}
window.open()接受第二个参数作为windowName。因此,如果没有具有特定名称的浏览上下文,则会创建一个新的浏览上下文
因此,由于您尚未传递第二个参数,第一个参数之后的所有其他window.open调用将不会创建新的浏览上下文,也不会打开新的窗口/选项卡
因此,对于修复,您可以尝试使用以下代码-
<button onclick="virus()" type="button" name="button"> Start your Magic!</button>
<script>
function virus(){
for(var i=0;i<10;i++){
window.open("https://www.w3schools.com/js/js_jquery_selectors.asp", i.toString());
}
}
开始你的魔法吧!
功能病毒(){
for(var i=0;iit最好将函数包装在for循环中。因此它会触发病毒函数10次。不测试。你不认为它应该是注释而不是答案吗?但它不起作用。你有其他想法吗。