当前位置:首页 > JavaScript

js实现页面加载

2026-01-16 12:09:33JavaScript

监听 DOMContentLoaded 事件

使用 DOMContentLoaded 事件可以在 HTML 文档完全加载和解析后触发,无需等待样式表、图像等外部资源加载完成。

document.addEventListener('DOMContentLoaded', function() {
    console.log('DOM 已加载,可以操作元素');
});

监听 load 事件

load 事件会在整个页面(包括所有依赖资源如样式表和图片)加载完成后触发。

window.addEventListener('load', function() {
    console.log('页面完全加载完成');
});

使用 jQuery 的 ready 方法

如果项目中使用了 jQuery,可以通过 $(document).ready() 实现类似效果。

$(document).ready(function() {
    console.log('jQuery DOM 就绪');
});

动态脚本加载后执行

通过动态创建 <script> 标签加载脚本,并在 onload 回调中执行逻辑。

const script = document.createElement('script');
script.src = 'path/to/script.js';
script.onload = function() {
    console.log('脚本加载完成');
};
document.head.appendChild(script);

异步加载资源时使用 Promise

结合 Promiseasync/await 控制多个资源的加载顺序。

function loadResource(url) {
    return new Promise((resolve, reject) => {
        const resource = document.createElement('script');
        resource.src = url;
        resource.onload = resolve;
        resource.onerror = reject;
        document.head.appendChild(resource);
    });
}

async function init() {
    await loadResource('lib1.js');
    await loadResource('lib2.js');
    console.log('所有资源加载完成');
}
init();

使用 defer 或 async 属性

<script> 标签中添加 deferasync 属性控制脚本加载行为:

js实现页面加载

  • defer:脚本异步加载,但会在 DOM 解析完成后按顺序执行。
  • async:脚本异步加载并立即执行,不保证顺序。
    <script src="script.js" defer></script>
    <script src="script.js" async></script>

标签: 加载页面
分享给朋友:

相关文章

uniapp实现懒加载

uniapp实现懒加载

uniapp实现懒加载的方法 在uniapp中实现懒加载可以通过多种方式,以下是几种常见的方法: 使用uni.lazyLoad组件 uniapp提供了内置的懒加载组件,适用于图片等资源的懒加载。在页…

vue实现页面定位

vue实现页面定位

Vue 实现页面定位的方法 使用 scrollIntoView 方法 通过 JavaScript 的 scrollIntoView 方法可以实现平滑滚动到指定元素位置。在 Vue 中,可以通过 ref…

vue 实现页面返回

vue 实现页面返回

监听浏览器返回事件 使用 window.addEventListener 监听 popstate 事件,在 Vue 的 mounted 钩子中绑定事件,并在 beforeDestroy 钩子中移除监听…

jquery页面跳转

jquery页面跳转

jQuery 页面跳转方法 使用 jQuery 实现页面跳转可以通过多种方式完成,以下是几种常见的方法: 使用 window.location.href 通过修改 window.location.h…

vue实现页面手写

vue实现页面手写

Vue 实现手写功能 在 Vue 中实现手写功能通常需要使用 HTML5 的 Canvas 元素,结合鼠标或触摸事件来捕捉用户的绘制动作。以下是实现步骤和代码示例: 基础实现步骤 创建一个 Vue…

vue实现封锁页面

vue实现封锁页面

Vue 实现封锁页面的方法 使用全局路由守卫 在 Vue 项目中,可以通过 router.beforeEach 全局路由守卫拦截导航,实现页面封锁。例如,检查用户权限或登录状态,未通过验证时重定向到指…