我还没有看到任何提及这是 David Flanagan 的“JavaScript - the Definitive Guide”一书(我也在 O'Reilly Answers 上问过这个问题),或者其他任何地方,但我发现 window.onunload除非文档完全加载,否则不会调用,这很烦人!至少对于 IE8 和 Chrome 3 来说是这样
我有一段 Javascript 想要添加到网页底部。如果用户碰巧在页面加载之前点击了页面(^ 见下文),并且在我的 Javascript 有机会运行之前,我希望将其捕获在 onunload 中。但这是不可能的,因为只有在文档完全加载时才会调用 onunload 事件处理程序。如果我不能使用 onunload,还有什么我可以用它来达到同样的效果吗?
^ “Javascript - The Definitive Guide”建议用户与页面的交互在页面加载之前不会发生。我相信这是错误的。这本书是这样说的:
) 如果这样的事件处理程序试图操作文档中尚未解析的部分,它将失败。这种情况在实践中并不常见,通常不值得为积极防范这种情况而付出额外的编码努力。”(第 5 版,第 256 页)
我在 IE8 上进行了测试,表明可以在页面加载的任何阶段与页面交互(并通过锚链接离开)。
感谢您的帮助,保罗