【问题标题】:window.close() function in javascriptjavascript 中的 window.close() 函数
【发布时间】:2014-09-24 06:30:12
【问题描述】:

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();
    }
}

我在这段代码中遗漏了什么。任何帮助,将不胜感激。 注意:链接仅供测试。

【问题讨论】:

  • 这部分getLinks[i].onload = window.close();。这不是你的做法。删除() 或将其包装在匿名函数中。
  • 您已将onload 属性添加到已加载的&lt;a href.. 元素。您的代码无法从此窗口关闭其他窗口。

标签: javascript html


【解决方案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 中运行良好,我不必允许阻止弹出窗口。

【讨论】:

    【解决方案2】:

    无法再关闭尚未创建的窗口。

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

    【讨论】:

      【解决方案3】:

      问题是某些浏览器不允许您使用 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 关闭窗口。

      【讨论】:

        【解决方案4】:

        A页到B页

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

        页面关闭

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-08-25
          • 1970-01-01
          • 1970-01-01
          • 2014-01-21
          • 1970-01-01
          • 2013-09-09
          • 1970-01-01
          相关资源
          最近更新 更多