AJAX插入的元素能否延迟DOM加载?DOM何时被视为已加载?

AJAX插入的元素能否延迟DOM加载?DOM何时被视为已加载?,ajax,dom,jquery,Ajax,Dom,Jquery,如果我们有一个在加载时执行Javascript的页面,并且这个Javascript通过AJAX插入新元素,这会延迟DOM被认为是加载的时间吗 我们的一些UI只在加载DOM后才起作用(使用jQuery的“ready”函数),我们认为通过AJAX异步插入页面元素可以更快地加载DOM,提高感知响应能力,并允许用户更快地与页面交互。如果这是对的,我们就做错了 有什么想法吗 谢谢 如果我理解您的意图,您希望加载页面,然后异步加载内容。如果您想这样做以提高感知的加载速度,请从$(function(){})运

如果我们有一个在加载时执行Javascript的页面,并且这个Javascript通过AJAX插入新元素,这会延迟DOM被认为是加载的时间吗

我们的一些UI只在加载DOM后才起作用(使用jQuery的“ready”函数),我们认为通过AJAX异步插入页面元素可以更快地加载DOM,提高感知响应能力,并允许用户更快地与页面交互。如果这是对的,我们就做错了

有什么想法吗


谢谢

如果我理解您的意图,您希望加载页面,然后异步加载内容。如果您想这样做以提高感知的加载速度,请从
$(function(){})运行ajax代码呼叫,而不是之前。这会在加载DOM时触发,这意味着页面的所有其余部分(尝试异步加载的内容除外)都已加载


用户会感觉到的效果是,除了内容加载之外,整个页面都会加载(我假设您会有一些旋转图像或将要加载内容的地方),然后您打电话,然后删除加载图标并插入内容。

谢谢,Jason。因此,如果页面在页面加载时执行Javascript,并且该Javascript通过AJAX插入新元素,则在插入这些新元素之前,DOM不会被视为已加载?我们的理解是AJAX插入的元素,因为它们是异步插入的,不会减慢其他非JS元素(例如,随后出现的DIV元素)的渲染速度。这取决于javascript在页面加载中的位置。您是在
中还是在
标签的前面<代码>文档.ready
在加载DOM后激发。它不关心您正在进行的任何ajax调用,因为它不知道您在使用ajax调用做什么。Javascript大约位于and标记的中间,但由于它是异步的,它不应该实质性地降低后续DOM元素的加载速度,对吗?Javascript的实际执行就是所谓的“阻塞”这意味着当它运行时,其他任何东西都不能运行。这取决于它实际将AJAX请求发送到服务器的位置。一旦它在等待响应,加载将继续,响应返回时将被处理。。。我们假设一旦发送了请求,后续DOM元素的加载就会恢复。然而,我们没有看到这一点。我们看到,在插入所有AJAX元素并返回所有异步Javascript调用并产生结果之前,不会加载整个DOM。