我有以下代码(如下所列)。简而言之,当用户点击按钮" 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>
答案 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>