Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript自动关闭弹出窗口_Javascript_Popupwindow - Fatal编程技术网

Javascript自动关闭弹出窗口

Javascript自动关闭弹出窗口,javascript,popupwindow,Javascript,Popupwindow,我有以下代码(如下所列)。简言之,当用户单击“全部打开”按钮时,将打开一个带有yahoo.com的弹出窗口。我希望窗口保持打开状态3秒钟,然后自动关闭,而无需用户进行其他交互 虽然弹出窗口完全按照所需打开,但当关闭尝试执行时,我会出现此错误 script438:对象不支持属性或方法“close” lights.html(11,31) 我不是一个编码员,也无法理解这一点。最终,这将主要在Safari iOS上运行。显然,雅虎链接将被一个特定的IP地址所取代。多谢各位 <!DOCTYPE HT

我有以下代码(如下所列)。简言之,当用户单击“全部打开”按钮时,将打开一个带有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>

灯光控制示例
函数allOn(){
瓦尔温http://www.yahoo.com';
公开赛(获胜,'1366002941508','width=1,height=1,left=5,top=3');
setTimeout(函数(){win.close();},3000);
}
灯光示例

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

您希望通过
open()
返回窗口对象,请尝试一下

<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>

函数allOn(){
var win=window.open('http://www.yahoo.com'、'windowname'、'width=1、height=1、left=5、top=3');
setTimeout(函数(){win.close();},3000);
}

灯光控制示例
函数allOn(){
var myWindow=window.open('http://www.yahoo.com'、'1366002941508'、'宽=600,高=400,左=5,顶=3')
setTimeout(函数(){myWindow.close();},3000);
}
灯光示例

无法调用
win.close()
的原因是
win
是一个字符串-它是一个字符串“
http://www.yahoo.com
。我不知道是否可以用这种方式关闭窗口,但我建议一个更好的选择,特别是对于移动设备,是创建一个覆盖div,而不是一个新窗口。它看起来会更好,你可以做你想做的事情。通过脚本关闭你自己的窗口已经不可能了。
<!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>