免费网站建站软件,手机网站和网站一体,研究网站平台建设工作动态,刚刚济南发通知管理浏览器中的JavaScript代码是个棘手的问题#xff0c;因为代码执行阻塞了其他浏览器处理过程#xff0c;注入用户界面回执。每次遇到 script 便签#xff0c;页面必须停下来等待代码下载#xff08;如果是外部的#xff09;并执行#xff0c;然后再继续处理…管理浏览器中的JavaScript代码是个棘手的问题因为代码执行阻塞了其他浏览器处理过程注入用户界面回执。每次遇到 script 便签页面必须停下来等待代码下载如果是外部的并执行然后再继续处理页面其他部分。但是有几种方法可以减少JavaScript对性能的影响 1、将所有 script 标签放置在页面的底部紧靠body关闭标签 /body的上方。此方法可以保证页面运行之前完成解析。 2、将脚本成组打包。页面的 script 标签越少页面的加载速度就越快响应也更加迅速。不论外部脚本文件还是内联代码都是如此。 几种方法可以使用非阻塞方式下载JavaScript 1、为 script 标签添加defer属性有浏览器兼容问题 补充defer属性指明元素中所包含的脚本不打算修改DOM因此代码可以稍后执行。 2、动态创建 script 元素用它下载并执行代码 3、用xhr对象下载代码并注入到页面中 小知识defer和async区别 defer加载后续文档元素的过程将和 script.js 的加载并行进行异步但是 script.js 的执行要在所有元素解析完成之后DOMContentLoaded 事件触发之前完成。推迟的脚本原则上按照它们被列出的次序执行。 async加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行异步。异步脚本不能保证按照它们在页面中出现的次序执行。