-
[置顶]flutter小程序开发(flutter可以开发小程序吗)
本文目录一览:1、自学web前端和自学移动前端哪个更容易?2、如何开发小程序?3、flutter如何进行icloud4、uni-app怎么进行上线?5、有没有大佬做过移动跨平台框架的对比,h5 rn...
-
[置顶]小程序引擎(开源小程序引擎)
本文目录一览:1、做一个小程序需要具备什么技术?2、企业是否需要制作小程序?怎么做企业小程序?3、taro 怎么集成 android sdk?4、百度小程序有什么特点?5、qq小程序基础引擎加载失败怎...
-
分享22款响应式的 jQuery 图片滑块插件
响应式(Responsive)设计的目标是要让产品界面能够响应用户的行为,根据不同终端设备自动调整尺寸,带给用户良好的使用体验。这篇文章收集了22款优秀的响应式 jQuery 幻灯片插件,它们能够帮助...
-
25个顶级的jQuery表格插件(jquery报表插件)
jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用...
-
25 个超棒的 jQuery 消息提醒插件
jQuery的通知插件帮助您创建各种通知信息,如错误,警告和简单的通知消息。我们选择25个最好的jQuery通知插件,使您能够为您的网站和Web应用创建各种通知消息和警报,并为访客提供更好的用户体验。...
-
为什么要网页模块化?(html页面模块化)
这篇文章讨论的是为什么Web模块化是很有用的,并介绍了现在可以用来实现Web模块化的一些机制。这里有另一篇文章介绍了RequireJS使用的函数包装格式的设计理念。 问题§1 网站逐渐转化为Web a...
-
超酷实用的jQuery焦点图赏析及源码(html焦点图)
焦点图应用在现代网页中使用十分广泛,有注重简单小巧的,也有注重华丽美观的,大部分jQuery焦点图都可以滑动和切换图片,并且在切换图片时产生不同的动画特效。今天我们要分享一些超酷而且实用的jQuery...
-
AngularJS - 下一个大框架
AngularJS AngularJS是web应用的下一个巨头。 AngularJS如果为创建web应用而设计,那它就是HTML的套路了。具有数据绑定, MVW, MVVM, MVC, 依赖注入的声明...
-
2014年25 款最新最棒的jQuery插件
我们收集了 2014 年 25 款最新最棒的 jQuery 插件,帮助大家改善网站的用户体验! 网络上提供了大量非常有用的 jQuery 插件,帮助大家完善网站的体验。所以我们在这里收集了 2014...
-
在网站开发中很有用的8个 jQuery 效果【附源码】
jQuery 作为最优秀 JavaScript 库之一,改变了很多人编写 JavaScript 的方式。它简化了 HTML 文档遍历,事件处理,动画和 Ajax 交互,而且有成千上万的成熟 jQuer...
-
AngularJS 、Backbone.js 和 Ember.js 的比较
1 介绍 我们准备在这篇文章中比较三款流行于Web的“模型-视图-*”框架:AngularJS、Backbone和Ember。为你的项目选择正确的框架能够对你及时交付项目的能力和在以后维护你自己代码的...
-
这类页面的特点是,一个外链脚本置于页面头部,三个外链脚本置于页面的底部,并且是故意跟随在一系列img之后,在Chrome中页面加载的网络请求瀑布图如下:
值得注意的是,虽然脚本放置在图片之后,但加载仍先于图片。为什么会出现这样的情况?为什么故意置后资源能够提前得到加载?
虽然浏览器引擎的实现不同,但原理都十分的近似。不同浏览器的制造厂商们(vendor)非常清楚浏览器的瓶颈在哪(比如network, javascript evaluate, reflow, repaint)。针对这些问题,浏览器也在不断的进化,所以我们才能看到更快的脚本引擎,调用GPU的渲染等一推陈出新的优化技术和方案。
同样在资源加载上,早在IE8开始,一种叫做lookahead pre-parser(在Chrome中称为preloader)的机制就已经开始在不同浏览器中兴起。IE8相对于之前IE版本的提升除了将每台host最高并行-的资源数从2提升至6,并且能够允许并行-脚本文件之外,最后就是这个lookahead pre-parser机制
但我还是没有详述这是一个什么样的机制,不着急,首先看看与IE7的对比:
以上面的页面为例,我们看看IE7下的瀑布图:
底部的脚本并没有提前被加载,并且因为由于单个域名最高并行-数2的限制,资源总是两个两个很整齐的错开并行-。
但在IE8下,很明显底部脚本又被提前:
并没有统一的标准规定这套机制应具备何种功能已经如何实现。但你可以大致这么理解:浏览器通常会准备两个页面解析器parser,一个(main parser)用于正常的页面解析,而另一个(preloader)则试图去文档中搜寻更多需要加载的资源,但这里的资源通常仅限于外链的js、stylesheet、image;不包括audio、video等。并且动态插入页面的资源无效。
但细节方面却值得注意:
比如关于preloader的触发时机,并非与解析页面同时开始,而通常是在加载某个head中的外链脚本阻塞了main parser的情况下才启动;
也不是所有浏览器的preloader会把图片列为预加载的资源,可能它认为图片加载过于耗费带宽而不把它列为预加载资源之列;
preloader也并非最优,在某些浏览器中它会阻塞body的解析。因为有的浏览器将页面文档拆分为head和body两部分进行解析,在head没有解析完之前,body不会被解析。一旦在解析head的过程中触发了preloader,这无疑会导致head的解析时间过长。
Preloader在响应式设计中的问题
preloader的诞生本是出于一番好意,但好心也有可能办坏事。
filamentgroup有一种著名的响应式设计的图片解决方案Responsive Design Images:
让我们再聊聊浏览器资源加载优化(优化浏览器加载速度)
几乎每一个前端程序员都知道应该把script标签放在页面底部。关于这个经典的论述可以追溯到Nicholas的 High Performance Javasript 这本书的第一章Loading and...