最近需要应用一个场景,有一段代码必须要等待整个HTML页面加载完毕以后在执行,我在网上找了一圈发现 JAVASCRIPT中间得 defer属性 刚好适用这个场景
默认情况吓defer属性是false。那么在这里
<script language="javascript" defer>
显式声明defer属性后等同于
<script language="javascript" defer=true>
注意两点:
1、不要在defer型的脚本程序段中调用document.write命令,因为document.write将产生直接输出效果。
2、而且,不要在defer型脚本程序段中包括任何立即执行脚本要使用的全局变量或者函数。
实际上 defer 和 window.onload得作用类似 但是要比window.onload要灵活
分享到:
相关推荐
总结来说,`async`和`defer`属性都允许JavaScript脚本的并行加载,从而不会阻塞页面的渲染,但两者在脚本执行时机上有所区别。`defer`属性保证了脚本按顺序执行,而`async`属性则不保证脚本的执行顺序,即哪个脚本先...
3. **延迟加载(defer属性)**: - `defer`属性也是HTML5新增的,它用于延迟脚本的执行,但保证脚本的执行顺序。 - 当`defer`属性设置为`true`时,脚本会在整个HTML文档解析完毕后,但在`DOMContentLoaded`事件...
将脚本放在`<body>`标签底部,或使用`async`或`defer`属性可以避免这种问题。 10. **JSP预编译**:默认情况下,JSP页面在首次请求时会被编译成Servlet。如果项目中有很多JSP页面,这可能导致首次访问时加载较慢。...
3. **链接资源**:将解压后的CSS文件添加到页面的`<head>`部分,JavaScript文件放在`<body>`的底部,或者在`<head>`中使用`async`或`defer`属性加载。 4. **初始化插件**:在jQuery的`$(document).ready()`函数中,...
- 异步加载:延迟加载非关键内容,利用async或defer属性控制脚本加载顺序。 - 使用CDN:内容分发网络可加速静态资源的全球访问速度。 7. **持续部署** - 版本控制:使用Git进行代码管理,便于版本回溯和团队协作...
- **异步加载**:利用async或defer属性异步加载JavaScript,避免阻塞DOM解析。 7. **安全**: - **HTTPS**:提供加密和身份验证,防止中间人攻击。 - **同源策略**:限制了不同源之间的资源共享,保护用户隐私。...
3. **异步加载**:虽然在这个例子中我们没有使用异步加载,但如果你想在不阻塞页面渲染的情况下加载`jQuery`,可以使用`async`或`defer`属性。但是,对于依赖`jQuery`的脚本(如`cookie.js`),不推荐使用这两个属性...
- AJAX(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术,它使用JavaScript向服务器请求数据,而无需重新加载整个页面。 - **Ajax请求参数**包括: - `contentType`:设置请求内容类型。 - ...
利用 `async` 和 `defer` 属性延迟脚本加载,减少页面阻塞。对于不依赖于DOM的脚本,考虑将其放在`<head>`中。 5. **性能优化**:使用 `gzip` 压缩文件,减小传输大小。利用缓存策略(如 `ETag` 和 `Cache-Control`...