如何减少“Onload”的延迟?

时间:2010-09-22 06:41:37

标签: javascript html

我目前正在使用带有此标记的javascript

<body onload="javascript:Mine();">

现在我注意到打开页面后加载此功能需要一些时间。所以还有其他方法可以减少这种延迟吗?

由于

3 个答案:

答案 0 :(得分:6)

页面完全加载时会激活

onload。为了让事情更快,你可以:

  • 加快页面加载速度
    • 删除,缩小和优化图片(以及其他内容,第三方广告通常是主要的性能提升者)
    • 遵循效果指南(例如those from Yahoo!。)
  • 不使用onload
    • 使用提供domready事件
    • 的库(例如YUI或jQuery)
    • 直接在<script>中运行脚本(而不是分配事件处理程序)

答案 1 :(得分:4)

OnLoad等待所有图像和其他外部资源完全加载。如果您只想知道已加载包含所有HTML元素的整个DOM树,请使用OnDOMReady

请注意,如果您希望它在许多浏览器中都能正常运行,那么这不是一项简单的任务。如果你正在使用jQuery,那么他们已经为你解决了这个问题,你可以写:

$(document).ready(function() {
    Mine();
});

但如果没有,仅为该功能加载jQuery可能根本不会改善页面加载。然后,另一个解决方案是将呼叫置于</body>之前:

<body>
    ...
    <script type="text/javascript">Mine();</script>
</body>

此时您的大多数DOM树都应该可供使用,因此这可能是一种方法。

答案 2 :(得分:0)

明显的答案:加快你的页面加载。

onLoad意味着,该功能将在整个页面加载完毕后运行。