我在一段时间后打开窗口有点困难,然后在一段时间后自动关闭它们。我不确定为什么,但是当我尝试在窗口上使用settimeout时,似乎是在窗口上。这是我的代码atm:
function topLeft() {
var myWindow = "image.png", "ONE", "width=300,height=310,top=100,left=100,menubar=no,toolbar=no,titlebar=no,statusbar=no";
setTimeout(function() {
myWindow.window.open() }, 5000);
setTimeout(function() {
myWindow.close() }, 10000);
function start() {
openClose();
}
window.onload = start;
感谢您的查看
您的代码不正确。
myWindow
是字符串变量。
您正在尝试致电myWindow.window.open()
。这会生成脚本错误,因为myWindow
(字符串变量)没有window
属性。
也许您要做的是:
var myWindowURL = "image.png", myWindowName = "ONE";
var myWindowProperties = "width=300,height=310,top=100,left=100,menubar=no,toolbar=no,titlebar=no,statusbar=no";
var openWindow;
setTimeout(function() {
openWindow = window.open(myWindowURL, myWindowName, myWindowProperties);
}, 5000);
setTimeout(function() {
openWindow.close()
}, 10000);
大多数流行浏览器中的弹出式阻滞剂只有在直接用户操作(例如单击)中运行的代码而打开的新窗口只能打开新窗口。
由于setTimeout()
将来发生了一段时间,因此不会被视为用户操作的直接结果,因此尝试从setTimeout()
打开Windows的直接结果可能会被弹出窗口阻止。
当然,您可以在自己的浏览器中禁用弹出式阻滞剂,但这只是您可以在自己的浏览器中执行的操作。您无法通过JavaScript禁用弹出式阻塞(因为那将打败目的)。