Javascript自动关闭弹出窗口

时间:2016-05-18 18:36:17

标签: javascript popupwindow

我有以下代码(如下所列)。简而言之,当用户点击按钮" All On"它将打开yahoo.com的弹出窗口。我希望窗口保持打开状态3秒钟,然后自动关闭,无需用户进行额外的交互。

虽然弹出窗口完全按照需要打开,但是当关闭尝试执行时,我收到此错误。

script438:对象不支持属性或方法' close' lights.html(11,31)

我不是编码员,也无法解决这个问题。最终,这将主要在Safari iOS上运行。显然,雅虎链接将被替换为特定的IP地址。谢谢。

<!DOCTYPE HTML>
<html>
<head>
  <title>Light Control Example</title>
  <script type="text/javascript">
    function allOn(){
     var win = 'http://www.yahoo.com';

      open(win,'1366002941508','width=1,height=1,left=5,top=3');

      setTimeout(function() { win.close();}, 3000);
    }
  </script>
</head>
<body>
  <h1>Lights Example</h1>

  <input type=submit value="ALL ON" onclick="allOn();" />

</body>
</html>

3 个答案:

答案 0 :(得分:2)

试一试

<script type="text/javascript">
function allOn(){
    var win = window.open('http://www.yahoo.com','windowname','width=1,height=1,left=5,top=3');
    setTimeout(function() { win.close();}, 3000);
}
</script>

答案 1 :(得分:1)

win是一个字符串 字符串显然没有close()方法。

您希望open()返回的Window对象。

答案 2 :(得分:0)

<!DOCTYPE HTML>
<html>
<head>
  <title>Light Control Example</title>
  <script type="text/javascript">
    function allOn(){
    var myWindow = window.open('http://www.yahoo.com','1366002941508','width=600,height=400,left=5,top=3')
    setTimeout(function() { myWindow.close();}, 3000);
    }
  </script>
</head>
<body>
  <h1>Lights Example</h1>

  <input type=submit value="ALL ON" onclick="allOn();" />

</body>
</html>