无依赖的JavaScript onLoad

无依赖的JavaScript onLoad,javascript,onload,library-design,Javascript,Onload,Library Design,我正在开发一个JavaScript库,它需要让用户能够在加载时运行一些代码。当然,我熟悉window.onload,以及类似$(function(){})与jQuery。但我不想依赖于另一个库,我希望这个特定的函数(当然还有库的其余部分)是跨浏览器的 那么,是否有一种可接受的方式附加到onload函数,而不重写另一个库的加载功能(或者如果在我的库之后包含另一个库,则重写我的库)?公开初始化/onload方法,并要求消费者在加载时调用它。换句话说,将问题推给使用该库的任何人,并可能使用jQuery

我正在开发一个JavaScript库,它需要让用户能够在加载时运行一些代码。当然,我熟悉
window.onload
,以及类似
$(function(){})与jQuery。但我不想依赖于另一个库,我希望这个特定的函数(当然还有库的其余部分)是跨浏览器的


那么,是否有一种可接受的方式附加到
onload
函数,而不重写另一个库的加载功能(或者如果在我的库之后包含另一个库,则重写我的库)?

公开初始化/onload方法,并要求消费者在加载时调用它。换句话说,将问题推给使用该库的任何人,并可能使用jQuery提供的方便方法

这是一个已解决的问题,但并不简单:


更多点击:

是。“看看jQuery[或框架X]是如何做到的”。遗憾的是,这还不是完全跨浏览器的(对不同的事件模型来说是的!)。在任何情况下,这都是一个“已解决的问题”,并且源代码(包括关于工作的代码)随时可用。一个常见的策略是将onload脚本放在脚本元素中,就在结束body标记之前。不需要
window.onload
DOMReady
或任何东西。到处都能用。@RobG“通常能用”。有时,处理事件[晚于]内联脚本元素的原因在于[但不是标题中的那种]对其他组件的依赖性。@pst,我希望避免在jQuery这样的大型代码库中拖拉。如果这是一个“已解决的问题”,那么肯定有人在某处写过它?公开一个初始化/onload方法,并要求消费者在加载时调用它。换句话说,将问题推给使用该库的任何人,并可能使用jQuery提供的方便方法。这是一个已解决的问题,但它并不简单:(第一次命中的源代码来自jQuery的一个版本)。谢谢,是的,就是您提到的()以及jQuery如何实现它的详细信息。