2023年6月21日发(作者:)

itextcss样式⽀持_好程序员web前端学习路线之异步加载CSS的⼀些⽅法好程序员web前端教程分享异步加载CSS的⼀些⽅法,在我们写页⾯的时候,我们做最主要的任务就是提⾼页⾯的性能和弹性加载速度,以不会延迟页⾯的呈现的形式来加载CSS。这是因为在默认情况下。- 浏览器会同步加载外部的CSS- 在下载和解析CSS时会影响所有页⾯呈现这两种情况都会导致潜在的延迟。当然,这也是在开始渲染页⾯之前,应该⾄少加载⽹站的CSS的⼀部分,并且为了⽴即将该初始CSS添加到浏览器,我们建议内联css。对于整体数量较少的⽹站,仅此⼀项就⾜够了,但如果CSS很⼤(例如,⼤于15到20kb),它可以帮助性能按优先级将其拆分。拆分后,应该在后台-aka中加载不太关键的CSS异步。在这篇⽂章中,我的⽬的是描述我在这些⽇⼦的⾸选⽅式,这实际上已存在很长的时间段了。有⼏种⽅法可以异步加载CSS,但没有⼀种⽅法可以像您期望的那样直观。与script元素不同,没有async或defer属性可以简单地应⽤于link元素,因此多年来我们维护了loadCSS项⽬,使得加载异步CSS的过程更加容易。最近,浏览器已经标准化了它们的CSS加载⾏为,因此可能不再需要像loadCSS这样的专⽤脚本来处理它们的微⼩差异。今天,我们掌握了浏览器如何处理各种link元素属性的⼀些知识,我们可以通过⼀⼩段HTML来实现异步加载CSS的效果。在这⾥,它是异步加载样式表的最简单⽅法:这⾏HTML简洁,但它不是很直观,所以让我们分解这⾥发⽣的事情。⾸先,将link's media属性设置为print。“打印”是⼀种媒体type,它说“应⽤此样式表的基于打印的媒体的规则”,换句话说,当⽤户尝试打印页⾯时应⽤它们。不可否认,我们希望我们的样式表适⽤于所有媒体(尤其是屏幕)⽽不仅仅是打印,但通过声明与当前环境不匹配的媒体类型,我们可以实现⼀个有趣且有⽤的效果:浏览器将加载样式表没有延迟页⾯渲染,异步!这很有帮助,但并不是我们想要的全部。我们还希望CSS在加载后实际应⽤于屏幕环境。为此,我们可以使⽤该onload属性将link媒体设置为all完成加载。介绍完了⽼⽅⼦,我们再来看看新药⽅,是的,同样的!在过去⼀两年中,我们⼀直在使⽤link[rel=preload](⽽不是rel=stylesheet)来实现与上⾯类似的模式(分别rel在加载后切换属性⽽不是media属性)。使⽤这种⽅法仍然可以正常⼯作,但是,使⽤时需要考虑⼏个缺点preload。⾸先,浏览器对于加载的⽀持依旧不是特别的好因此如果你想依赖它来跨浏览器获取和应⽤样式表,那么填充(例如⼀个loadCSS)是必要的。更主要的是,preload尽可能早地获取⽂件,优先级最⾼,可能会优先考虑其他重要下载,并且可能⽐⾮关键CSS实际需要的优先级更⾼。幸运的是,如果你碰巧想要提供的⾼优先级提取rel=preload(在⽀持它的浏览器中),你可以将它与上⾯的模式结合起来。这和之前的⽅法没什么区别啊!是的确实如此,但是呢,语法上更加好⼀些。另外就是你仔细点就会发现 as="style"这个属性,所以preload 不仅仅可以⽤在 CSS ⽂件上,⽽是可以⽤在绝⼤多数的资源⽂件上。我们可以新建⼀个script标签来指向它:var script = Element("script"); = "";Child(script);在这个时候浏览器就直接从缓存中拿这个⽂件了,不会再发请求了,因为此前已经加载好了。那么 preload 中的 as 属性⽀持哪些资源⽂件呢?下⾯这些都可以· font· image· object· script· style不要想太多,只有⾕歌太对它做出完美的⽀持。也可以⽤JavaScript来实现:$(window).load(function () {//异步延迟加载样式var link = $('');('href', '/styles/');('rel', 'stylesheet');To($('head'));(function () {('加载成功...');});本内容伪原创⽂章,转载请注明出处。

2023年6月21日发(作者:)

itextcss样式⽀持_好程序员web前端学习路线之异步加载CSS的⼀些⽅法好程序员web前端教程分享异步加载CSS的⼀些⽅法,在我们写页⾯的时候,我们做最主要的任务就是提⾼页⾯的性能和弹性加载速度,以不会延迟页⾯的呈现的形式来加载CSS。这是因为在默认情况下。- 浏览器会同步加载外部的CSS- 在下载和解析CSS时会影响所有页⾯呈现这两种情况都会导致潜在的延迟。当然,这也是在开始渲染页⾯之前,应该⾄少加载⽹站的CSS的⼀部分,并且为了⽴即将该初始CSS添加到浏览器,我们建议内联css。对于整体数量较少的⽹站,仅此⼀项就⾜够了,但如果CSS很⼤(例如,⼤于15到20kb),它可以帮助性能按优先级将其拆分。拆分后,应该在后台-aka中加载不太关键的CSS异步。在这篇⽂章中,我的⽬的是描述我在这些⽇⼦的⾸选⽅式,这实际上已存在很长的时间段了。有⼏种⽅法可以异步加载CSS,但没有⼀种⽅法可以像您期望的那样直观。与script元素不同,没有async或defer属性可以简单地应⽤于link元素,因此多年来我们维护了loadCSS项⽬,使得加载异步CSS的过程更加容易。最近,浏览器已经标准化了它们的CSS加载⾏为,因此可能不再需要像loadCSS这样的专⽤脚本来处理它们的微⼩差异。今天,我们掌握了浏览器如何处理各种link元素属性的⼀些知识,我们可以通过⼀⼩段HTML来实现异步加载CSS的效果。在这⾥,它是异步加载样式表的最简单⽅法:这⾏HTML简洁,但它不是很直观,所以让我们分解这⾥发⽣的事情。⾸先,将link's media属性设置为print。“打印”是⼀种媒体type,它说“应⽤此样式表的基于打印的媒体的规则”,换句话说,当⽤户尝试打印页⾯时应⽤它们。不可否认,我们希望我们的样式表适⽤于所有媒体(尤其是屏幕)⽽不仅仅是打印,但通过声明与当前环境不匹配的媒体类型,我们可以实现⼀个有趣且有⽤的效果:浏览器将加载样式表没有延迟页⾯渲染,异步!这很有帮助,但并不是我们想要的全部。我们还希望CSS在加载后实际应⽤于屏幕环境。为此,我们可以使⽤该onload属性将link媒体设置为all完成加载。介绍完了⽼⽅⼦,我们再来看看新药⽅,是的,同样的!在过去⼀两年中,我们⼀直在使⽤link[rel=preload](⽽不是rel=stylesheet)来实现与上⾯类似的模式(分别rel在加载后切换属性⽽不是media属性)。使⽤这种⽅法仍然可以正常⼯作,但是,使⽤时需要考虑⼏个缺点preload。⾸先,浏览器对于加载的⽀持依旧不是特别的好因此如果你想依赖它来跨浏览器获取和应⽤样式表,那么填充(例如⼀个loadCSS)是必要的。更主要的是,preload尽可能早地获取⽂件,优先级最⾼,可能会优先考虑其他重要下载,并且可能⽐⾮关键CSS实际需要的优先级更⾼。幸运的是,如果你碰巧想要提供的⾼优先级提取rel=preload(在⽀持它的浏览器中),你可以将它与上⾯的模式结合起来。这和之前的⽅法没什么区别啊!是的确实如此,但是呢,语法上更加好⼀些。另外就是你仔细点就会发现 as="style"这个属性,所以preload 不仅仅可以⽤在 CSS ⽂件上,⽽是可以⽤在绝⼤多数的资源⽂件上。我们可以新建⼀个script标签来指向它:var script = Element("script"); = "";Child(script);在这个时候浏览器就直接从缓存中拿这个⽂件了,不会再发请求了,因为此前已经加载好了。那么 preload 中的 as 属性⽀持哪些资源⽂件呢?下⾯这些都可以· font· image· object· script· style不要想太多,只有⾕歌太对它做出完美的⽀持。也可以⽤JavaScript来实现:$(window).load(function () {//异步延迟加载样式var link = $('');('href', '/styles/');('rel', 'stylesheet');To($('head'));(function () {('加载成功...');});本内容伪原创⽂章,转载请注明出处。