寻找$(window).load的替代方法,它比$(document).ready慢

问题描述 投票:0回答:3

一旦DOM和至少顶部内容被加载,我试图用JavaScript隐藏我的预加载器。问题是我的页面有几个iframe可以减慢很多过程。

我的理解是,如果我使用jQuery的$(document).ready来隐藏预加载器,它将很快隐藏起来。另一方面,如果我使用$(window).load,则等待时间可能太长。那么,是否有中间解决方案,有点像window.load,但没有等待iframe?

编辑:我的页面有类似Facebook的按钮谷歌翻译和其他一些通过iframe工作的脚本。这些不是关键元素,我不想等待它们完全加载。

另一方面,像Bootstrap,jQuery等CSS文件对于演示来说是非常重要的,因此显示没有首先加载这些页面(隐藏预加载器)是不成熟的。

谢谢。

javascript jquery html dom
3个回答
1
投票

在隐藏加载器之前,您可以使用$(document).ready来确定是否加载了特定元素。

或者,如果您有部分视图,要在其中一个页面中使用$(document).ready函数,请执行加载程序隐藏作业。

由于您没有提供更多信息,因此这些信息比实际解决方案更接近猜测。


0
投票

我想你正在寻找document.onload,它将在DOM树准备就绪时触发。我相信它会在iframe之前触发,它们都有自己的onload回调/事件处理程序。


0
投票

您也可以尝试将脚本标记放在html文件的末尾,而不是在onloadready函数内部开始。这将导致它加载html内容,然后激活Javascript。

编辑

一个想法刚刚发生在我身上,可能有用也可能没用。您可能对何时希望脚本执行有所了解。在您使用的任何浏览器中,检查开发控制台的网络选项卡。您可能希望将代码包装在其他元素的onload函数中。例如,如果您有一个背景图像,您希望在代码执行之前确保加载,您可能希望使用它的onload。

正如Petre所说,问题中缺乏信息使得回答变得困难。

© www.soinside.com 2019 - 2024. All rights reserved.