gpt4 book ai didi

javascript - $(window).one ('load' ) 是如何工作的,它是如何失败的?

转载 作者:行者123 更新时间:2023-11-29 17:52:26 24 4
gpt4 key购买 nike

作为一些背景,我正在构建一个网络 slider 事件,它适合/扩展另一个输出 HTML 的软件。关键是我几乎无法控制软件如何输出它的 HTML 元素,但我可以在软件输出的内容之上添加任意 JavaScript 和 HTML 元素。

我想做的是延迟加载一些我想添加的图像,直到所有软件的输出元素都加载完毕。到目前为止,我一直在等待加载图像,直到触发窗口加载事件。像这样:

//-----Simplified example-----
$(document).on('ready', funciton(){
//Some stuff to set things up
$(window).one('load', function(){
$('#SomeDiv').append('
<img class= "someClass"
id="arbitraryImage1"
src="folder/image1.jpg"
');
});
});

虽然它现在正在运行,但我不确定如果出现问题会发生什么。该软件输出的 HTML 有一个坏习惯,即包含它可能不需要的内容以及偶尔不在较慢的连接上加载图像。大多数情况下,如果它确实失败了,用户不会注意到,所以这不是问题。但是,我想知道 $(window).one('load', function(){}) 在出现问题时的行为方式,以便我可以解决错误或至少使事件优雅地失败。任何帮助或文档链接都将不胜感激,“窗口”和“加载”的通用性在谷歌搜索时会带来很多不相关的信息。

总结:

当窗口无法加载资源(图像、css 等)时,$(window).one('load', function(){}) 的行为是什么? )?

最佳答案

好问题。文档说:

The load event fires at the end of the document loading process. At this point, all of the objects in the document are in the DOM, and all the images, scripts, links and sub-frames have finished loading.

https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload

但在实践中,您会发现在最初解析文档(样式表、外部脚本、img 标签)时排队等待加载的所有 Assets 都已加载或加载失败后,会触发加载事件。 只要没有请求仍处于待处理状态,这些 Assets 是否已成功加载这一事实与触发的加载事件无关。

我认为文档需要澄清,因为它没有解决您的问题。

关于javascript - $(window).one ('load' ) 是如何工作的,它是如何失败的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42255659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com