DOMContentLoad和Load区别

本文介绍了DOMContentLoad和Load事件的区别。DOMContentLoad在HTML DOM结构加载完成后触发,而Load则等待所有资源和脚本执行完毕。通过Chrome的network截图,可以清晰看到两个事件的时间点。此外,文中探讨了DOMContentLoaded的使用,指出complete状态可以作为DOMContentLoad的替代,并提到了IE9及以下版本中利用doScroll属性判断DOMContentLoad状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

区别

具体区别已经有很多人去详细讲述了,简单来说:
DOMContentLoad是HTML Dom结构完成时触发,相当于jquery.ready
Load是页面整体完成时触发,即所有加载资源与js脚本执行完毕后触发,相当于jquery.load
用一张图即可看出区别,chrome的network截图。其中蓝线为DOMContentLoaded完成时间点,红线为Load完成时间点
network截图

DOMContentLoaded的使用及替代方法

每个对象都有readyState值,可分为5个状态uninitialized、loading、loaded、interactive、complete。
对于document.readyState,通过readystatechange事件绑定测出含有三个状态,分别为loading、interactive、complete。
complete状态相当于DOMContentLoad状态,因此可进行替代。

doScroll是IE9及以下IE浏览器Node节点的特有属性(因为在别的浏览器测试时检测不到),可通过循环判定document.documentElement的doScroll是否可调用进行判断DOMContentLoad状态。

//非IE浏览器
document
### C# 中 `Assembly.LoadFile` `Assembly.LoadFrom` 的区别 在 C# 中,`Assembly.LoadFile` `Assembly.LoadFrom` 是两个用于加载程序集的方法。它们的功能看似相似,但在实际使用中有显著的区别。 #### 方法定义 - **`Assembly.LoadFile(string path)`**: 加载指定路径中的文件作为程序集[^1]。此方法仅加载该特定文件的内容而不考虑其依赖关系。 - **`Assembly.LoadFrom(string path)`**: 不仅加载指定路径中的程序集,还会解析并尝试加载与其关联的其他依赖项[^2]。 #### 主要差异 | 特性 | Assembly.LoadFile | Assembly.LoadFrom | |--------------------------|----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| | **加载范围** | 只加载指定的单个文件 | 加载目标程序集及其可能存在的依赖项 | | **绑定重定向支持** | 不支持上下文中基于配置文件或其他机制的绑定重定向 | 支持通过标准 .NET 绑定逻辑进行版本匹配重定向 | | **适用场景** | 当只需要单独分析某个 DLL 而不关心它的运行环境时 | 需要在运行时动态调用外部库功能的情况下 | 具体来说: - 如果只是想查看或反射某些元数据而无需执行其中任何代码,则可以选用 `LoadFile()` 函数[^3]; - 对于希望正常工作包括所有必要的引用组件在内的完整解决方案而言,“LoadFrom()”会更加合适一些因为这样能确保所有的资源都被正确引入进来以便正常使用[^4]。 另外需要注意一点就是关于异常处理方面,在遇到像找不到所需装配件之类的问题时两者表现形式也可能存在差别比如前者可能会抛出FileNotFoundException类型的错误消息提示我们缺少了什么重要的东西;后者除了上述情况外还可能出现诸如BadImageFormatException之类的状况表明所试图打开的对象并非有效的.NET模块等等[^5]。 ```csharp try { var assemblyFromFile = System.Reflection.Assembly.LoadFile(@"C:\path\to\your.dll"); } catch (System.IO.FileNotFoundException ex) { Console.WriteLine($"The file was not found: {ex.Message}"); } // Example usage of LoadFrom which also loads dependent assemblies. var assemblyFromPath = System.Reflection.Assembly.LoadFrom(@"C:\another\location.dll"); foreach(var type in assemblyFromPath.GetTypes()) { Console.WriteLine(type.Name); } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值