javascript中的window.close()函数

时间:2014-09-24 06:30:12

标签: 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="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();
    }
}

我在此代码中缺少什么。任何帮助,将不胜感激。 注意:链接仅用于测试。

4 个答案:

答案 0 :(得分:1)

检查出来:

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
}

在这里很容易找到: http://www.w3schools.com/jsref/met_win_close.asp

小提琴: http://jsfiddle.net/zc2g7nkr/

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

答案 1 :(得分:0)

关闭你没有创建的窗口是不可能的。

看看这个window.close and self.close do not close the window in Chrome

答案 2 :(得分:0)

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

有些错误会阻止它 - 特别是浏览器不会让一个网站的代码关闭一个打开到不同网站的窗口。

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

setTimeout(function () { win.close();}, 3000);

这是 DEMO

当你允许弹出窗口时,它在Firefox中运行正常,

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

答案 3 :(得分:0)

B页的页面

window.open('B.html', '_blank');
window.open('','_self').close();

页面关闭

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