当前位置: 首页 > article >正文

在网页加载时自动运行js的方法(2025最新)

在网页加载时自动运行JavaScript方法有多种实现方式,以下是常见的几种方法:


1. ​​使用 DOMContentLoaded 事件​

当初始HTML文档完全加载和解析后触发(无需等待图片等资源加载):

document.addEventListener('DOMContentLoaded', function() {// 你的代码console.log('DOM已加载完毕!');
});

2. ​​使用 window.onload 事件​

等待页面所有资源(图片、样式表等)加载完成后触发:

window.onload = function() {// 你的代码console.log('页面完全加载完毕!');
};

3. ​​直接在 <script> 标签中执行​

将脚本放在 <body> 末尾,确保DOM已解析:

<body><!-- 页面内容 --><script>// 直接执行的代码console.log('脚本立即执行!');</script>
</body>

4. ​​使用 defer 属性​

延迟脚本执行,直到HTML解析完成(按顺序执行):

<head><script defer src="your-script.js"></script>
</head>

5. ​​使用 async 属性(异步加载)​

脚本异步加载,下载完成后立即执行(不保证顺序):

<head><script async src="your-script.js"></script>
</head>

6. ​​IIFE(立即调用函数表达式)​

自动执行的匿名函数,适合模块化代码:

(function() {console.log('立即执行!');
})();

7. ​​现代框架的生命周期钩子​

  • ​Vue.js​​: 使用 mounted 钩子

    new Vue({el: '#app',mounted() {console.log('Vue实例已挂载!');}
    });

  • ​React​​: 使用 useEffect(函数组件)或 componentDidMount(类组件)

    useEffect(() => {console.log('组件已渲染!');
    }, []);


注意事项:

  • ​执行顺序​​:DOMContentLoaded 比 window.onload 更早触发。
  • ​性能​​:避免在加载阶段执行耗时操作,以免阻塞渲染。
  • ​框架兼容性​​:现代前端框架通常有自定义的生命周期方法。

根据你的需求选择合适的方式即可!

http://www.lryc.cn/news/2404548.html

相关文章:

  • 在Windows下编译出llama_cpp_python的DLL后,在虚拟环境中使用方法
  • CSS radial-gradient函数详解
  • n8n 自动化平台 Docker 部署教程(附 PostgreSQL 与更新指南)
  • 关于datetime获取时间的问题
  • 前端面试五之vue2基础
  • 使用python实现奔跑的线条效果
  • Oracle 审计参数:AUDIT_TRAIL 和 AUDIT_SYS_OPERATIONS
  • Android LinearLayout、FrameLayout、RelativeLayout、ConstraintLayout大混战
  • Unity版本使用情况统计(更新至2025年5月)
  • GPUCUDA 发展编年史:从 3D 渲染到 AI 大模型时代(上)
  • 人机融合智能 | 可穿戴计算设备的多模态交互
  • Impromptu VLA:用于驾驶视觉-语言-动作模型的开放权重和开放数据
  • AI智能体,为美业后端供应链注入“智慧因子”(4/6)
  • 跨平台资源下载工具:res-downloader 的使用体验
  • ps蒙版介绍
  • 数据湖是什么?数据湖和数据仓库的区别是什么?
  • 用Ai学习wxWidgets笔记——在 VS Code 中使用 CMake 搭建 wxWidgets 开发工程
  • 【深度学习新浪潮】如何入门三维重建?
  • Android实现点击Notification通知栏,跳转指定activity页面
  • Codeforces Round 1025 (Div. 2) B. Slice to Survive
  • ubuntu中使用docker
  • 复制与图片文件同名的标签文件到目标路径
  • 【深度学习-Day 24】过拟合与欠拟合:深入解析模型泛化能力的核心挑战
  • [ElasticSearch] DSL查询
  • iview中的table组件点击一行中的任意一点选中本行
  • 《探秘跨网段局域网IP广播:解锁网络通信的新姿势》
  • Kafka 单机部署启动教程(适用于 Spark + Hadoop 环境)
  • maven微服务${revision}依赖打包无法识别
  • 2025年06月07日Github流行趋势
  • WPS中将在线链接转为图片