用Javascript延迟页面关闭?

用Javascript延迟页面关闭?,javascript,delay,Javascript,Delay,现在,我明白延迟页面关闭是一种不好的做法,有更好的方法来处理这类事情,但仅供将来参考,有没有方法延迟页面关闭?差不多 window.onunload = unload(); function unload() { setTimeout("self.close()", 1000) } 谢谢 如果您确实需要(即准备使用半黑客)延迟页面关闭而不显示确认对话框等,您可以执行以下操作: function delay(ms) { var start = +new Date; while

现在,我明白延迟页面关闭是一种不好的做法,有更好的方法来处理这类事情,但仅供将来参考,有没有方法延迟页面关闭?差不多

window.onunload = unload();

function unload()
{
setTimeout("self.close()", 1000)
}
谢谢

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

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

// start image loading (I assume you need this for tracking?)
delay(150);
功能延迟(ms){
var开始=+新日期;
而((+新日期-开始)

警告是显而易见的:它并不总是有效的,你不能拖延太久。也就是说,如果您真的对此感兴趣,您可能会获得95%以上的结果(这取决于服务器响应时间)。

@GlennSlaven,尝试了什么?上面的函数不起作用(当然是:P),我问是否有一种浏览器认可的方法来做这件事,比如一个函数只会延迟一秒钟,不会更多,也不会更少,或者其他什么,但它也会锁定页面并占用CPU。它可以延迟,但在这段时间里你什么都做不了。使这种攻击可能没有那么有用。@squegy它并没有听起来那么糟糕:)如果你将超时保持在150-250左右,你实际上不会注意到“锁”。顺便说一句,这不是我现在发明的东西,它正被访问者追踪者用于生产。