javascript中的window.close()函数

javascript中的window.close()函数,javascript,html,Javascript,Html,我对window.close()函数有问题。我有一个简单的HTML脚本: <body> <a href="http://www.gmail.com" class="one">gmail</a><br /> <a href="http://www.google.com" class="one">google</a><br /> <input type="submit" id="submit" name="s

我对window.close()函数有问题。我有一个简单的HTML脚本:

<body>
<a href="http://www.gmail.com" class="one">gmail</a><br />
<a href="http://www.google.com" class="one">google</a><br />

<input type="submit" id="submit" name="submit" value="submit">

<script src="project.js"></script>
</body>



我想在不同的窗口中打开上面的url。加载url后,窗口应在没有任何警报的情况下自行关闭。下面的javascript代码允许url在不同的窗口中打开。但它只关闭了google.com和html网页。“gmail”网站仍然开放

var submit = document.getElementById("submit");

submit.onclick = function() {
    var getLinks = document.getElementsByClassName("one");

    for(var i=0; i<=(getLinks.length-1); i++) {
        window.open(getLinks[i]);
        getLinks[i].onload = window.close();
    }
}
var submit=document.getElementById(“提交”);
submit.onclick=函数(){
var getLinks=document.getElementsByClassName(“一”);

对于(var i=0;i而言,无法再关闭尚未创建的窗口

看看这个

看看这个:

function openWin() {
    myWindow = window.open("http://google.com", "myWindow", "width=200, height=100");    // Opens a new window
}

function closeWin() {
    myWindow.close();                                                  // Closes the new window
}
在这里很容易找到:

小提琴:


它在Chrome中运行良好,我不必允许阻止弹出窗口。

问题是某些浏览器不允许您使用javascript关闭窗口

有一些bug可以阻止它——特别是浏览器不会让来自一个网站的代码关闭打开到另一个网站的窗口

var win = window.open("http://www.google.com", '1366002941508','width=500,height=200,left=375,top=330');

setTimeout(function () { win.close();}, 3000);
这里有一个

在Firefox中允许弹出窗口时,它可以正常工作

它在chrome中打开一个弹出窗口,但不允许您使用javascript关闭窗口。

a页到B页

window.open('B.html', '_blank');
window.open('','_self').close();
页面关闭

window.open('','_self').close();

此部分
getLinks[i].onload=window.close();
不是这样做的。请删除
()
或将其包装到匿名函数中。您已将
onload
属性添加到