0

0

如何进行脚本加载优化

一个新手

一个新手

发布时间:2017-10-09 09:40:46

|

1664人浏览过

|

来源于php中文网

原创

如果我们只是单纯在 head 或 body 中引用脚本,由于是否会更改dom是未知的, 所以脚本在下载执行的过程中会完全阻塞页面的渲染。

若脚本在 head 或 body 中间,有很大可能会出现空白页面,也无法进行用户交互,用户体验很差。

即便是可以并行下载 javascript 文件,但这个下载过程中会影响图片等资源的下载。

所以我们首先需要做的是:

把 script 标签放在 body 里最底部;

因为进行 HTTP 请求时有额外的性能开销,如三次握手,所以还要尽量减少  HTTP 请求:

把 javascript 文件合并成一个;

在一个请求里加载多个 javascript 文件

但是以上并没有解决我们的问题,一个大的 javascript 文件会下载执行脚长时间,在这段时间里,浏览器无法做其他事情。这就需要无阻塞脚本,也就是在页面加载完成后才加载 javascript 代码,即在 window对象 的 load 事件触发之后再下载脚本。

基于慧博CMS修改的购物网站系统
基于慧博CMS修改的购物网站系统

基于慧博CMS商城系统的修改,部分BUG已修正,并优化了页面和字体,新添加产品导航,方便客户查找自己想要的产品,本系统为永久免费系统,界面为绿色,如果你想修改成其他颜色,请自己参照代码进行修改,谢谢。后台地址:你的网站地址/admin支持文件夹和二级域名用户名和密码admin

下载

1 延迟脚本

defer:首先我们要确定该脚本不会改变DOM,因为加上就是告诉浏览器这个脚本不会改变 DOM,可以在页面加载完成后再执行。 给 script 标签加上这个属性后,这个文件就可以跟其他资源并行下载了。IE 从 IE10 开始不支持 defer

async:与 defer 区别在于下载完成后就执行,但 defer 要等到页面加载完成后才执行

2 动态脚本

也就是动态创建一个 script 标签,在合适的时机插入到页面中,我们可以这种方法来根据需要加载文件,也能指定脚本加载顺序。

3 XMLHttpRequest脚本注入

就是通过 XHR 获取脚本  然后在回调函数中创建 script 标签并插入到页面中

推荐方法

先添加动态加载所需的脚本,尽可能精简,其中添加一个加载脚本的函数

在 script 标签中调用函数加载其他脚本

当然,也有一些懒加载库能使用。

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

65

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

43

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

35

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

41

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

204

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

9

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

8

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SciPy 教程
SciPy 教程

共10课时 | 1.0万人学习

R 教程
R 教程

共45课时 | 4.3万人学习

jQuery 教程
jQuery 教程

共42课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号