浏览器的外部资源引入方式是什么?

47 阅读1分钟

浏览器的外部资源引入方式是什么?

外部资源引入可以分为不遵守同源策略的(link,script,iframe)和遵守同源策略的XHR(Axios,Fetch)

不遵守同源策略: ①外部资源链接元素link:两个重要属性rel和href必须显示添加,rel有四个重要属性值

rel作用
icon文档图标
stylesheetcss样式表导入
preload预先缓存目标资源,优先级最高,html解析的时候就开始下载,而且必须在当前界面用到
prefetch浏览器空闲的时候下载这个资源到缓存

②script:仅限于加载JS资源,script加载资源过后交由JS引擎执行,可选属性async和defer

script作用
下载资源不会阻止渲染引擎解析html,下载完毕后JS引擎立即执行,阻塞html解析
下载资源不会阻止渲染引擎解析html,下载完毕后等待,等html元素解析完成,DOMContentLoaded触发之后,再执行JS引擎
下载资源会阻止引擎解析html,下载完毕后JS引擎立即执行,阻塞html解析

③获取HTML资源iframe:父域和子域的iframe样式和脚本互不影响,但是他们的线程共用同一个GUI线程和JS执行线程,子线程的操作会阻塞父线程,所以不能作为WebWorker和子应用的替代方案

遵守同源策略(不能跨域) ①img,audio,video标签 ②XHR系列:提供一个开放的接口,将请求的数据暴露给开发者,开发者可以自定义数据处理的方式。由于自定义程度高,所以必须保证安全性,遵守同源策略