判断程序加载完成的方法有以下几种:
onload事件
适用于所有现代浏览器,包括IE9及以上版本。
代码示例:
```javascript
window.onload = function() {
// 页面所有内容加载完成后的操作
};
```
或者使用addEventListener:
```javascript
document.addEventListener('load', function() {
// 页面所有内容加载完成后的操作
});
```
DOMContentLoaded事件
在DOM结构加载完成后触发,无需等待所有资源(如图像和脚本)加载完成。
代码示例:
```javascript
document.addEventListener("DOMContentLoaded", function() {
// DOM加载完成后的操作
});
```
onreadystatechange事件
适用于IE6和IE7,通过检查document.readyState是否为'complete'来判断页面加载完成。
代码示例:
```javascript
document.onreadystatechange = function() {
if (document.readyState == 'complete') {
// 页面加载完成后的操作
}
};
```
iframe的onload事件
如果需要判断一个iframe是否加载完成,可以使用iframe的onload事件。
代码示例:
```javascript
var iframe = document.getElementById("myIframe");
iframe.onload = function() {
// iframe加载完成后执行的操作
};
```
建议
使用DOMContentLoaded事件:在大多数情况下,推荐使用`DOMContentLoaded`事件,因为它在DOM结构加载完成后就立即触发,可以更早地执行JavaScript代码,提高页面响应速度。
考虑浏览器兼容性:如果需要支持IE6和IE7,则需要使用`onreadystatechange`事件。
避免阻塞渲染:使用`DOMContentLoaded`事件而不是`onload`事件可以避免阻塞页面的渲染,从而提高用户体验。
根据具体需求和浏览器兼容性要求,可以选择合适的方法来判断程序加载完成。