【问题标题】:Delay page close with Javascript?用Javascript延迟页面关闭?
【发布时间】:2011-12-02 00:13:37
【问题描述】:

现在,我知道延迟页面关闭是不好的做法,并且有更好的方法来处理这类事情,但仅供将来参考,有没有办法延迟页面关闭?类似的东西

window.onunload = unload();

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

谢谢!

【问题讨论】:

  • @GlennSlaven,试过什么?上面的功能不起作用(当然:P),我在问是否有浏览器批准的方法,比如一个只会延迟一秒钟的功能,不多不少,或者什么

标签: javascript delay


【解决方案1】:

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

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

// start image loading (I assume you need this for tracking?)
delay(150);

注意事项很明显:它并不总是有效,而且你不能拖延太久。话虽如此,如果您真的对此感兴趣,您可能会得到超过 95% 的结果(实际上取决于服务器响应时间)。

【讨论】:

  • 但这也会锁定页面并占用您的 CPU。它可以延迟它,但在此期间您根本无法做任何事情。制作这个 hack 可能没那么有用。
  • @Squeegy 这并不像听起来那么糟糕 :) 如果您将超时保持在 150-250 左右,您实际上不会注意到“锁定”。顺便说一句,这不是我现在发明的东西,它正在被访客跟踪器用于生产。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
相关资源
最近更新 更多