script标签属性sync和defer
2024-08-30 23:08:47
<script src="a.js" defer></script>
加了defer属性script标签的页面,运行流程如下:
1.浏览器开始解析HTML页面
2.遇到有defer属性的script标签,浏览器继续往下面解析页面,且会并行下载script标签的外部js文件
3.解析完HTML页面,再执行刚下载的js脚本(在DOMContentLoaded事件触发前执行,即刚刚解析完</html>,且可保证执行顺序就是他们在页面上的先后顺序)
注意事项:
1.内置js代码的script标签,以及动态生成的script标签,defer属性不生效
2.有defer属性的script标签脚本文件里不能使用document.write方法
<script src="a.js" sync></script>
加了sync属性script标签的页面,运行流程如下:
1.浏览器开始解析页面
2.遇到有sync属性的script标签,会继续往下解析,并且同时另开进程下载脚本
3.脚本下载完毕,浏览器停止解析,开始执行脚本,执行完毕后继续往下解析
注意事项:
1.无法保证脚本的执行顺序,哪个脚本先下载完毕,就先执行哪个
2.也不能使用document.write方法
使用场景区分:
1.脚本之间没有依赖关系的,使用sync
2.脚本之间有依赖关系的,使用defer
3.若同时使用sync和defer,defer不起作用,sync生效
最新文章
- eclipse导入myeclipse的web项目没法识别问题解决
- 《理解 ES6》阅读整理:函数(Functions)(一)Default Parameter Values
- 一个关于qml插件的文章-转
- IPHONE 字体加粗
- Java [Leetcode 319]Bulb Switcher
- EF中使用数据库的标量值函数
- WebAppScaner
- Mac 生产力探究
- [leetcode-438-Find All Anagrams in a String]
- (10.20)Java小作业!
- JS URI Encode
- angular2 学习笔记 ( Dynamic Component 动态组件)
- PHP 查询脚本
- java引用
- B1004. 成绩排名
- lua -- io.exists
- C# int.ToString() 常用参数说明
- pytest 常用命令行选项(一)
- hash环/consistent hashing一致性哈希算法
- 31、Arrays数组排序(续)——自定义排序
热门文章
- Guava ---- EventBus事件驱动模型
- [译]IOS中AutoLayout布局与Transform的冲突问题
- SpringMVC之请求参数的获取方式
- mystr = &#39;{}{}{}&#39;.format(mystr, random.randint(0, 9), adurl)
- Bootstrap 模态窗口源码分析
- Bing必应地图中国API-画线与添加多边形
- bzoj4237 稻草人——分治
- java静态方法和实例化方法的区别(copy)
- JAVA POI的使用
- System.AppDomain类详解(二)