添加setTimeout JavaScript/jQuery函数帮助页面加载更快
does adding setTimeout JavaScript/jQuery function help page load quicker
下面的JavaScript是否允许网页加载速度更快,而不是标准函数或$(window).load(function(){
或$(document).ready()
,如果没有,是否有一种方法允许页面加载然后运行JavaScript ?
setTimeout(function(){
// JavaScript OR jQuery to execute
}, 5000);
描述
$(document).ready()
指定DOM
满载时执行的函数
函数确保所有的html元素(DOM
)被加载。所以使用setTimeout
不是一个好主意,因为你无法知道浏览器是否在这个时候构建了DOM
。
你可以把你的javascript放在你的文档的末尾,以确保浏览器已经建立了DOM
,但这不是你应该这样做,在使用jQuery的情况下。
DOM
表示文档对象模型
文档对象模型(DOM)是一种跨平台的、独立于语言的约定,用于表示HTML、XHTML和XML文档中的对象并与之交互。DOM的各个方面(比如它的"元素")可以在使用的编程语言的语法中处理和操作。DOM的公共接口是在它的API中指定的。
以下函数在jQuery中是相同的(重载)
$(function()
{
// DOM is loaded
});
$(document).ready(functions() {
// DOM is loaded
});
// this is the best way if you want prevent collisions with other JavaScript librarys
jQuery(document).ready(function($) {
// DOM is loaded
});
jQuery文档- .ready()- Wikipedia - Document Object Model
首先,将任何对构建页面不重要的JavaScript放在HTML的最底部,在关闭</body>
标记之前。这包括任何引用外部.js文件的脚本标记。
接下来,如果你正在使用jQuery(我希望你是),然后插入你需要的任何JS逻辑到这个方法:
$(document)ready(function(){
//do stuff
});
最后,对于老式JS,你想把这个添加到你的body标签:
onload="YourFunctionName()"
除非你正在用JS做一些大量的计算,否则不行。你的大部分"加载"时间都花在下载资源上,而不是在页面上绘制/渲染它们。如果您有任何发送其他httprequest (ajax)的代码,并且这些代码在页面完成加载之前被触发,那么您可能希望以某种方式使用onload方法。或者就像克莱夫说的那样,把它放在底部。
- 如何使用url加载程序在webpack中导入多个图像
- 如何在jsoup的帮助下跟踪我的网站是否加载到android设备上
- 任何人都可以帮助我如何在客户端加载XML,该XML在服务器上,我需要对文件进行更改
- 需要帮助使用 AJAX 和其他一些东西加载数据
- jquery未加载.我需要帮助将jquery添加到我的项目中.它没有加载javascript文件
- 如何让 Mocha 加载定义全局钩子或实用程序的帮助程序.js文件
- Javascript 帮助 - 添加指向在身体加载时弹出的图像的链接
- 新手帮助需要了解图像文件加载Javascript
- 更改值后如何重新加载帮助程序
- 添加setTimeout JavaScript/jQuery函数帮助页面加载更快
- 需要帮助加载OBJ和MTL文件在Three.js
- 需要帮助更改页面加载时的默认js切换状态
- 需要帮助加载KML -这是我的第一个谷歌地图项目
- 帮助在动态加载的AJAX内容之后重新绑定jQuery
- 需要帮助我的Angular模块加载:Uncaught Error: [$injector:modulerr]
- 使用pouchDB从本地数据库加载数据真的很有帮助吗?
- 在地址行加载带有帮助链接的模式弹出窗口
- 需要帮助修复我的页面加载微调器
- 在 JavaScript 帮助中卸载加载之前
- Javascript模态窗口代码被重新配置为在页面加载时加载而不是onclick.帮助:)