延迟页面关闭Javascript?

Mat*_*Sot 5 javascript delay

现在,我明白延迟页面关闭是不好的做法,并且有更好的方法来处理这类内容,但仅供将来参考,有没有办法延迟页面关闭?就像是

window.onunload = unload();

function unload()
{
setTimeout("self.close()", 1000)
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

dev*_*odo 10

如果您确实需要(即准备采用半黑客)延迟关闭页面而不显示确认对话框等,您可以执行以下操作:

function delay(ms) {
    var start = +new Date;
    while ((+new Date - start) < ms);
}

// start image loading (I assume you need this for tracking?)
delay(150);
Run Code Online (Sandbox Code Playgroud)

警告是显而易见的:它不会一直有效,你不能拖延太久.话虽这么说,如果你真的对此感兴趣,你可能会得到超过95%的结果(实际上取决于服务器的响应时间).

  • 但是这也会锁定页面并使CPU飙升.它可以延迟它,但在此期间你根本无法做任何事情.制作这个hack可能不那么有用. (2认同)
  • @Squeegy它没有听起来那么糟糕:)如果你将超时保持在150-250左右,你实际上不会注意到"锁定".顺便说一句,这不是我现在发明的东西,它被访客追踪者用于生产. (2认同)