defer
时间: 2023-09-20 22:12:03 浏览: 56
`defer` 是一个 HTML 脚本属性,它的作用是让浏览器延迟脚本的执行,直到文档加载完成后再执行。
在 HTML 中,可以使用 `defer` 属性来指定一个脚本需要延迟执行。当浏览器遇到带有 `defer` 属性的脚本时,不会立即执行,而是会在 HTML 文档解析完成后,DOMContentLoaded 事件被触发之前执行。这样可以确保脚本在文档加载完成后执行,避免了脚本执行时还没有完全加载完成的情况,提升了页面的加载性能和用户体验。
需要注意的是,`defer` 属性只在外部脚本(通过 src 属性引入的脚本)中有效,对于内联脚本(直接在 HTML 中使用 `<script>` 标签定义的脚本)无效。
以下是一个示例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>defer示例</title>
<script src="defer-script.js" defer></script>
</head>
<body>
<h1>这是一个页面</h1>
</body>
</html>
```
在这个示例中,我们在 HTML 的 head 部分中使用了一个带有 `defer` 属性的外部脚本,脚本文件为 `defer-script.js`。当浏览器解析到该脚本时,不会立即执行,而是会等待 HTML 文档解析完成后再执行该脚本。这样可以确保脚本在页面加载完成后才执行,避免了脚本执行时还没有完全加载完成的情况,提升了页面的加载性能和用户体验。
相关问题
script defer
如果使用defer属性,JS文件会在文档解析后再执行,而不是立即执行。如果使用async属性,则JS文件会在下载完成后立即执行,不会等待文档解析完成。
使用defer属性可以保证JS文件的执行在servlet之后,而使用async属性则无法保证执行顺序。
下面是使用defer属性的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Your Title</title>
<script src="your-script.js" defer></script>
</head>
<body>
<h1>Hello World!</h1>
<script>
// your JS code here
</script>
</body>
</html>
```
在这个示例代码中,先加载了your-script.js文件,但是该文件会在文档解析完成后再执行。而在JS代码中的逻辑会在文档解析完成后立即执行。这样就保证了JS先执行,然后Servlet再执行的顺序。
yocto defer
Yocto defer是指在Yocto Project中,当一个变量被访问时,数据模块会使用DataSmart来查找栈的顶层。如果变量没有被找到,它会推迟到栈的较低层,直到找到变量或抛出错误。这种延迟查找的机制可以帮助Yocto Project更好地识别低内存系统的终端用户需求,并在BitBake的数据存储方面提前预测可能出现的问题。此外,Yocto defer还可以通过将功能分解为不同的层来简化项目的管理和维护。例如,可以使用不同的层来实现特定硬件功能、网络功能和用户界面等。